You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Learn which features are available for C#, Python, and Java through integrations.
4
4
author: sophialagerkranspandey
5
5
ms.topic: reference
@@ -8,13 +8,13 @@ ms.date: 07/11/2023
8
8
ms.service: semantic-kernel
9
9
---
10
10
11
-
# Integrations for Semantic Kernel
11
+
# AI Integrations for Semantic Kernel
12
12
13
-
Semantic Kernel provides a wide range of integrations to help you build powerful AI agents. These integrations include AI services, memory connectors. Additionally, Semantic Kernel integrates with other Microsoft services to provide additional functionality via plugins.
13
+
Semantic Kernel provides a wide range of AI service integrations to help you build powerful AI agents. Additionally, Semantic Kernel integrates with other Microsoft services to provide additional functionality via plugins.
14
14
15
15
## Out-of-the-box integrations
16
16
17
-
With the available AI and memory connectors, developers can easily build AI agents with swappable components. This allows you to experiment with different AI services and memory connectors to find the best combination for your use case.
17
+
With the available AI connectors, developers can easily build AI agents with swappable components. This allows you to experiment with different AI services to find the best combination for your use case.
18
18
19
19
### AI Services
20
20
@@ -28,56 +28,11 @@ With the available AI and memory connectors, developers can easily build AI agen
28
28
| Text to Audio (Experimental) | ✅ | ❌ | ❌ | Example: Text-to-speech |
29
29
| Audio to Text (Experimental) | ✅ | ❌ | ❌ | Example: Whisper |
30
30
31
-
32
-
### Memory Connectors (Experimental)
33
-
34
-
Vector databases have many use cases across different domains and applications that involve natural language processing (NLP), computer vision (CV), recommendation systems (RS), and other areas that require semantic understanding and matching of data.
35
-
36
-
One use case for storing information in a vector database is to enable large language models (LLMs) to generate more relevant and coherent responses based on an [AI plugin](../create-plugins/index.md).
37
-
38
-
However, large language models often face challenges such as generating inaccurate or irrelevant information; lacking factual consistency or common sense; repeating or contradicting themselves; being biased or offensive. To overcome these challenges, you can use a vector database to store information about different topics, keywords, facts, opinions, and/or sources related to your desired domain or genre.
39
-
Then, you can use a large language model and pass information from the vector database with your AI prompt to generate more accurate and relevant content.
40
-
41
-
For example, if you want to write a blog post about the latest trends in AI, you can use a vector database to store the latest information about that topic and pass the information along with the ask to a LLM in order to generate a blog post that leverages the latest information.
42
-
43
-
## Available connectors to vector databases
44
-
Today, Semantic Kernel offers several connectors to vector databases that you can use to store and retrieve information. These include:
45
-
46
-
47
-
| Service | C# | Python |
48
-
|--------------------------|:----:|:------:|
49
-
| Vector Database in Azure Cosmos DB for NoSQL | [C#](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBNoSQL) | [Python](https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/memory/azure_cosmosdb_no_sql)
50
-
| Vector Database in vCore-based Azure Cosmos DB for MongoDB |[C#](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Connectors/Connectors.Memory.AzureCosmosDBMongoDB)|[Python](https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/memory/azure_cosmosdb)|
51
-
| Azure AI Search |[C#](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Connectors/Connectors.Memory.AzureAISearch)|[Python](https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/memory/azure_cognitive_search)|
52
-
| Azure PostgreSQL Server |[C#](https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Connectors/Connectors.Memory.Postgres)|
:::image type="content" source="../media/decision-guide-databases-and-ai-search.png" lightbox="../media/decision-guide-databases-and-ai-search.png" alt-text="Vector indexing service decision guide":::
74
-
75
-
76
31
## Additional plugins
77
32
78
33
If you want to extend the functionality of your AI agent, you can use plugins to integrate with other Microsoft services. Here are some of the plugins that are available for Semantic Kernel:
| Logic Apps | ✅ | ✅ | ✅ | Build workflows within Logic Apps using its available connectors and import them as plugins in Semantic Kernel. [Learn more](../concepts/plugins/adding-logic-apps-as-plugins.md). |
37
+
| Logic Apps | ✅ | ✅ | ✅ | Build workflows within Logic Apps using its available connectors and import them as plugins in Semantic Kernel. [Learn more](../plugins/adding-logic-apps-as-plugins.md). |
83
38
| Azure Container Apps Dynamic Sessions | ✅ | ✅ | ❌ | With dynamic sessions, you can recreate the Code Interpreter experience from the Assistants API by effortlessly spinning up Python containers where AI agents can execute Python code. [Learn more](/azure/container-apps/sessions). |
title: Semantic Kernel Vector Store code samples (Preview)
3
+
description: Lists code samples for the Semantic Kernel Vector Store abstractions and implementations
4
+
zone_pivot_groups: programming-languages
5
+
author: westey-m
6
+
ms.topic: conceptual
7
+
ms.author: westey
8
+
ms.date: 07/08/2024
9
+
ms.service: semantic-kernel
10
+
---
11
+
# Semantic Kernel Vector Store code samples (Preview)
12
+
13
+
> [!WARNING]
14
+
> The Semantic Kernel Vector Store functionality is in preview, and improvements that require breaking changes may still occur in limited circumstances before release.
15
+
16
+
::: zone pivot="programming-language-csharp"
17
+
18
+
## Simple Data Ingestion and Vector Search
19
+
20
+
For two very simple examples of how to do data ingestion into a vector store and do vector search, check out these
21
+
two examples, which use Qdrant and InMemory vector stores to demonstrate their usage.
-[Simple Data Ingestion](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_DataIngestion_Simple.cs)
25
+
26
+
## Common code with multiple stores
27
+
28
+
Vector stores may different in certain aspects, e.g. with regards to the types of their keys or the types of fields each support.
29
+
Even so, it is possible to write code that is agnostic to these differences.
30
+
31
+
For a data ingestion sample that demonstrates this, see:
32
+
-[MultiStore Data Ingestion](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_DataIngestion_MultiStore.cs)
33
+
34
+
For a vector search sample demonstrating the same concept see the following samples.
35
+
Each of these samples are referencing the same common code, and just differ on the type of
36
+
vector store they create to use with the common code.
37
+
38
+
-[Azure AI Search vector search with common code](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_AzureAISearch.cs)
39
+
-[InMemory vector search with common code](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_InMemory.cs)
40
+
-[Qdrant vector search with common code](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Qdrant.cs)
41
+
-[Redis vector search with common code](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiStore_Redis.cs)
42
+
43
+
## Supporting multiple vectors in the same record
44
+
45
+
The Vector Store abstractions support multiple vectors in the same record, for vector databases that support this.
46
+
The following sample shows how to create some records with multiple vectors, and pick the desired target vector
47
+
when doing a vector search.
48
+
49
+
-[Choosing a vector for search on a record with multiple vectors](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_MultiVector.cs)
50
+
51
+
## Vector search with paging
52
+
53
+
When doing vector search with the Vector Store abstractions it's possible to use Top and Skip parameters to support paging, where e.g.
54
+
you need to build a service that reponds with a small set of results per request.
55
+
56
+
-[Vector search with paging](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStore_VectorSearch_Paging.cs)
57
+
58
+
> [!WARNING]
59
+
> Not all vector databases support Skip functionality natively for vector searches, so some connectors may have to fetch Skip + Top records and skip
Copy file name to clipboardExpand all lines: semantic-kernel/concepts/vector-store-connectors/data-architecture.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
1
---
2
-
title: The Semantic Kernel Vector Store data architecture (Experimental)
2
+
title: The Semantic Kernel Vector Store data architecture (Preview)
3
3
description: Defines the data architecture for Semantic Kernel, including the relationship between vector stores, collections and records.
4
4
author: westey-m
5
5
ms.topic: conceptual
6
6
ms.author: westey
7
7
ms.date: 07/08/2024
8
8
ms.service: semantic-kernel
9
9
---
10
-
# The Semantic Kernel Vector Store data architecture (Experimental)
10
+
# The Semantic Kernel Vector Store data architecture (Preview)
11
11
12
12
> [!WARNING]
13
-
> The Semantic Kernel Vector Store functionality is experimental, still in development and is subject to change.
13
+
> The Semantic Kernel Vector Store functionality is in preview, and improvements that require breaking changes may still occur in limited circumstances before release.
14
14
15
15
Vector Store abstractions in Semantic Kernel are based on three main components: **vector stores**, **collections** and **records**.
16
16
**Records** are contained by **collections**, and **collections** are contained by **vector stores**.
Copy file name to clipboardExpand all lines: semantic-kernel/concepts/vector-store-connectors/defining-your-data-model.md
+6-8Lines changed: 6 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Defining your Semantic Kernel Vector Store data model (Experimental)
2
+
title: Defining your Semantic Kernel Vector Store data model (Preview)
3
3
description: Describes how to create a data model with Semantic Kernel to use when writing to or reading from a Vector Store.
4
4
zone_pivot_groups: programming-languages
5
5
author: westey-m
@@ -8,10 +8,10 @@ ms.author: westey
8
8
ms.date: 07/08/2024
9
9
ms.service: semantic-kernel
10
10
---
11
-
# Defining your data model (Experimental)
11
+
# Defining your data model (Preview)
12
12
13
13
> [!WARNING]
14
-
> The Semantic Kernel Vector Store functionality is experimental, still in development and is subject to change.
14
+
> The Semantic Kernel Vector Store functionality is in preview, and improvements that require breaking changes may still occur in limited circumstances before release.
15
15
16
16
## Overview
17
17
@@ -27,9 +27,7 @@ The properties on these classes are decorated with attributes that indicate the
27
27
Here is an example of a model that is decorated with these attributes.
0 commit comments