Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions agent-framework/integrations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,22 @@ These abstractions let you write simple, high-level code against a single API, a

| Implementation | C# | Uses officially supported SDK | Maintainer / Vendor |
| ---------------------------------------------------------------------------------------------------------------------------- | :------------------------: | :---------------------------: | :-----------------: |
| [Azure AI Search](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-ai-search-connector) | ✅ | ✅ | Microsoft |
| [Cosmos DB MongoDB (vCore)](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-cosmosdb-mongodb-connector) | ✅ | ✅ | Microsoft |
| [Cosmos DB No SQL](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-cosmosdb-nosql-connector) | ✅ | ✅ | Microsoft |
| [Azure AI Search](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-ai-search-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Azure DocumentDB](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-cosmosdb-mongodb-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Azure CosmosDB](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/azure-cosmosdb-nosql-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Chroma](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/chroma-connector) | ✅ | ❌ | .NET Community Toolkit |
| [Couchbase](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/couchbase-connector) | ✅ | ✅ | Couchbase |
| [Elasticsearch](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/elasticsearch-connector) | ✅ | ✅ | Elastic |
| [In-Memory](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/inmemory-connector) | ✅ | N/A | Microsoft |
| [In-Memory](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/inmemory-connector) | ✅ | N/A | .NET Community Toolkit |
| [MongoDB](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/mongodb-connector) | ✅ | ✅ | Microsoft |
| [Neon Serverless Postgres](https://neon.com) | Use [Postgres Connector](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/postgres-connector) | ✅ | Microsoft |
| [Oracle](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/oracle-connector) | ✅ | ✅ | Oracle |
| [Pinecone](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/pinecone-connector) | ✅ | ❌ | Microsoft |
| [Postgres](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/postgres-connector) | ✅ | ✅ | Microsoft |
| [Qdrant](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/qdrant-connector) | ✅ | ✅ | Microsoft |
| [Redis](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/redis-connector) | ✅ | ✅ | Microsoft |
| [SQL Server](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/sql-connector) | ✅ | ✅ | Microsoft |
| [SQLite](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/sqlite-connector) | ✅ | ✅ | Microsoft |
| [Postgres](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/postgres-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Qdrant](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/qdrant-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Redis](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/redis-connector) | ✅ | ✅ | .NET Community Toolkit |
| [SQL Server](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/sql-connector) | ✅ | ✅ | .NET Community Toolkit |
| [SQLite](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/sqlite-connector) | ✅ | ✅ | .NET Community Toolkit |
| [Volatile (In-Memory)](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/volatile-connector) | Deprecated (use In-Memory) | N/A | Microsoft |
| [Weaviate](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/weaviate-connector) | ✅ | ✅ | Microsoft |
| [Weaviate](/semantic-kernel/concepts/vector-store-connectors/out-of-the-box-connectors/weaviate-connector) | ✅ | ✅ | .NET Community Toolkit |

> [!IMPORTANT]
> The vector store abstraction implementations are built by a variety of sources. Not all connectors are maintained by Microsoft. When considering an implementation, be sure to evaluate quality, licensing, support, etc. to ensure they meet your requirements. Also make sure you review each provider's documentation for detailed version compatibility information.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ In the following sample, we show how to use these approaches to construct Langch

For each vector store, there is a factory class that shows how to construct the Langchain compatible Vector Store. See e.g.

- [PineconeFactory](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStoreLangchainInterop/PineconeFactory.cs)
- [RedisFactory](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/Memory/VectorStoreLangchainInterop/RedisFactory.cs)

::: zone-end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
href: index.md
- name: Azure AI Search connector
href: azure-ai-search-connector.md
- name: Azure CosmosDB MongoDB (vCore) connector
- name: Azure DocumentDB connector
href: azure-cosmosdb-mongodb-connector.md
- name: Azure CosmosDB NoSQL connector
- name: Azure CosmosDB connector
href: azure-cosmosdb-nosql-connector.md
- name: Chroma connector
href: chroma-connector.md
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,6 @@ ms.service: semantic-kernel
---
# Using the Azure AI Search Vector Store connector (Preview)

::: zone pivot="programming-language-csharp"

> [!WARNING]
> The Azure AI Search Vector Store functionality is in preview, and improvements that require breaking changes may still occur in limited circumstances before release.

::: zone-end
::: zone pivot="programming-language-python"

> [!WARNING]
Expand All @@ -38,17 +32,17 @@ The Azure AI Search Vector Store connector can be used to access and manage data
| Feature Area | Support |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Collection maps to | Azure AI Search Index |
| Supported key property types | string |
| Supported data property types | <ul><li>string</li><li>int</li><li>long</li><li>double</li><li>float</li><li>bool</li><li>DateTimeOffset</li><li>*and enumerables of each of these types*</li></ul> |
| Supported key property types | <ul><li>string</li><li>Guid</li></ul> |
| Supported data property types | <ul><li>string</li><li>int</li><li>long</li><li>double</li><li>float</li><li>bool</li><li>DateTime</li><li>DateTimeOffset</li><li>DateOnly (.NET only)</li><li>*and arrays or `List<T>` of each of these types*</li></ul> |
| Supported vector property types | <ul><li>ReadOnlyMemory\<float\></li><li>Embedding\<float\></li><li>float[]</li></ul> |
| Supported index types | <ul><li>Hnsw</li><li>Flat</li></ul> |
| Supported index types | <ul><li>Hnsw (default)</li><li>Flat</li></ul> |
| Supported distance functions | <ul><li>CosineSimilarity</li><li>DotProductSimilarity</li><li>EuclideanDistance</li></ul> |
| Supported filter clauses | <ul><li>AnyTagEqualTo</li><li>EqualTo</li></ul> |
| Supported filter clauses | LINQ expressions: `==`, `!=`, `<`, `<=`, `>`, `>=`, `&&`, `\|\|`, `!`, `Contains` and `Any` with `Contains` over arrays and lists |
| Supports multiple vectors in a record | Yes |
| IsIndexed supported? | Yes |
| IsFullTextIndexed supported? | Yes |
| IsFullTextIndexed supported? | Yes (string properties only) |
| StorageName supported? | No, use `JsonSerializerOptions` and `JsonPropertyNameAttribute` instead. [See here for more info.](#data-mapping) |
| HybridSearch supported? | Yes |
| HybridSearch supported? | Yes, requires a string data property with `IsFullTextIndexed = true` |

::: zone-end
::: zone pivot="programming-language-python"
Expand Down Expand Up @@ -126,6 +120,8 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAzureAISearchVectorStore(new Uri(azureAISearchUri), new AzureKeyCredential(secret));
```

Overloads that accept a `TokenCredential` (Entra ID authentication), `AzureAISearchVectorStoreOptions`, a `ServiceLifetime` and keyed registrations (`AddKeyedAzureAISearchVectorStore`) are also provided, as well as `AddAzureAISearchCollection<TRecord>` for registering a collection directly. If an `IEmbeddingGenerator` is registered in the container, the vector store and collections use it automatically. When an embedding generator is used, `IncludeVectors` is not supported. If no generator is configured, passing a `string` to `SearchAsync` or `HybridSearchAsync` sends a text query that Azure AI Search vectorizes on the service side.

Extension methods that take no parameters are also provided. These require an instance of the Azure AI Search `SearchIndexClient` to be separately registered with the dependency injection container.

```csharp
Expand Down Expand Up @@ -286,7 +282,7 @@ var collection = new AzureAISearchVectorStoreRecordCollection<>(searchClient, "s

## Data mapping

The default mapper used by the Azure AI Search connector when mapping data from the data model to storage is the one provided by the Azure AI Search SDK.
The default mapper used by the Azure AI Search connector when mapping data from the data model to storage is a `System.Text.Json`-based mapper provided by the connector.

This mapper does a direct conversion of the list of properties on the data model to the fields in Azure AI Search and uses `System.Text.Json.JsonSerializer`
to convert to the storage schema. This means that usage of the `JsonPropertyNameAttribute` is supported if a different storage name to the
Expand Down
Loading