mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
Migrate VectorStoreRAG and Concepts samples to CommunityToolkit.VectorData packages (#14170)
### Motivation and Context `Microsoft.SemanticKernel.Connectors.*` vector store packages are moving to `CommunityToolkit.VectorData.*`. This updates the `VectorStoreRAG` and `Concepts` sample projects to reference the new package IDs and namespaces. ### Description **Package reference updates** (`Directory.Packages.props`, `VectorStoreRAG.csproj`, `Concepts.csproj`): | Old | New | Version | |-----|-----|---------| | `Microsoft.SemanticKernel.Connectors.AzureAISearch` | `CommunityToolkit.VectorData.AzureAISearch` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.CosmosMongoDB` | `CommunityToolkit.VectorData.CosmosMongoDB` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.CosmosNoSql` | `CommunityToolkit.VectorData.CosmosNoSql` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.InMemory` | `CommunityToolkit.VectorData.InMemory` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.PgVector` | `CommunityToolkit.VectorData.PgVector` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.Qdrant` | `CommunityToolkit.VectorData.Qdrant` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.Redis` | `CommunityToolkit.VectorData.Redis` | 1.0.0 | | `Microsoft.SemanticKernel.Connectors.Weaviate` | `CommunityToolkit.VectorData.Weaviate` | 1.0.0 | **Namespace updates** : ```csharp // Before using Microsoft.SemanticKernel.Connectors.InMemory; // After using CommunityToolkit.VectorData.InMemory; ``` DI extension methods (`AddInMemoryVectorStore`, `AddQdrantCollection`, etc.) moved to `Microsoft.Extensions.DependencyInjection` in the CT packages — all affected files already had that `using`, so no additional changes needed there. **API compatibility fixes:** - `[VectorStoreVector(Dimensions: N)]` → `[VectorStoreVector(N)]` in two files — the new `Microsoft.Extensions.VectorData.Abstractions` constructor uses a positional parameter named `dimensions` (lowercase), so the old named-argument form no longer compiles. - `SharpCompress` pin bumped `0.48.0` → `0.48.1` in `Directory.Packages.props` — `CommunityToolkit.VectorData.CosmosMongoDB` pulls `MongoDB.Driver 3.10.0` which requires `>= 0.48.1`. - Added `<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>` to both sample csproj files — `CommunityToolkit.VectorData.CosmosNoSql` pulls `Microsoft.Azure.Cosmos 3.61.0` which added a mandatory Newtonsoft.Json explicit-reference check not present in the prior version. ### Contribution Checklist - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: Adam Sitnik <[email protected]>
This commit is contained in:
@@ -91,7 +91,7 @@
|
||||
<PackageVersion Include="ModelContextProtocol" Version="0.4.0-preview.3" />
|
||||
<PackageVersion Include="MSTest.TestFramework" Version="3.8.0" />
|
||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageVersion Include="Npgsql" Version="10.0.2" />
|
||||
<PackageVersion Include="Npgsql" Version="10.0.3" />
|
||||
<PackageVersion Include="OData2Linq" Version="2.2.0" />
|
||||
<PackageVersion Include="OllamaSharp" Version="5.4.25" />
|
||||
<PackageVersion Include="OpenAI" Version="2.10.0" />
|
||||
@@ -115,7 +115,7 @@
|
||||
<PackageVersion Include="System.Linq.AsyncEnumerable" Version="10.0.4" />
|
||||
<PackageVersion Include="System.Memory.Data" Version="10.0.2" />
|
||||
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
|
||||
<PackageVersion Include="System.Numerics.Tensors" Version="10.0.6" />
|
||||
<PackageVersion Include="System.Numerics.Tensors" Version="10.0.9" />
|
||||
<PackageVersion Include="System.Text.Json" Version="10.0.6" />
|
||||
<PackageVersion Include="System.ValueTuple" Version="4.6.2" />
|
||||
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" />
|
||||
@@ -126,7 +126,7 @@
|
||||
<PackageVersion Include="Microsoft.ML.Tokenizers" Version="2.0.0" />
|
||||
<!-- Microsoft.Extensions.* -->
|
||||
<PackageVersion Include="Microsoft.Extensions.AI" Version="10.5.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.AI.Abstractions" Version="10.5.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.AI.Abstractions" Version="10.5.2" />
|
||||
<PackageVersion Include="Microsoft.Extensions.AI.AzureAIInference" Version="10.0.0-preview.1.25559.3" />
|
||||
<PackageVersion Include="Microsoft.Extensions.AI.OpenAI" Version="10.5.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.2" />
|
||||
@@ -153,7 +153,7 @@
|
||||
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.2.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="10.0.2" />
|
||||
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.2" />
|
||||
<PackageVersion Include="Microsoft.Extensions.VectorData.Abstractions" Version="10.1.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.VectorData.Abstractions" Version="10.5.2" />
|
||||
<!-- Test -->
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
|
||||
<PackageVersion Include="Moq" Version="[4.18.4]" />
|
||||
@@ -174,9 +174,7 @@
|
||||
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.10" />
|
||||
<PackageVersion Include="DuckDB.NET.Data.Full" Version="1.2.0" />
|
||||
<PackageVersion Include="DuckDB.NET.Data" Version="1.1.3" />
|
||||
<PackageVersion Include="MongoDB.Driver" Version="3.5.2" />
|
||||
<PackageVersion Include="SharpCompress" Version="0.48.0" /><!-- Vulnerability fix: GHSA-6c8g-7p36-r338; transitively pinned via MongoDB.Driver -->
|
||||
<PackageVersion Include="Snappier" Version="1.3.1" /><!-- Vulnerability fix: GHSA-pggp-6c3x-2xmx; transitively pinned via MongoDB.Driver -->
|
||||
<PackageVersion Include="MongoDB.Driver" Version="3.10.0" />
|
||||
<PackageVersion Include="Microsoft.Graph" Version="5.105.0" />
|
||||
<PackageVersion Include="Microsoft.Graph.Core" Version="3.2.6" />
|
||||
<PackageVersion Include="Microsoft.OpenApi" Version="1.6.24" />
|
||||
@@ -203,15 +201,14 @@
|
||||
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.1.2" />
|
||||
<PackageVersion Include="Qdrant.Client" Version="1.15.1" />
|
||||
<!-- VectorData Dependencies -->
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.CosmosMongoDB" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.CosmosNoSql" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.InMemory" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.PgVector" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Pinecone" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Redis" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="Microsoft.SemanticKernel.Connectors.Weaviate" Version="1.74.0-preview" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.AzureAISearch" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.CosmosMongoDB" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.CosmosNoSql" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.InMemory" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.PgVector" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.Qdrant" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.Redis" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.VectorData.Weaviate" Version="1.0.0" />
|
||||
<!-- Symbols -->
|
||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
|
||||
<!-- Toolset -->
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Agents;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Functions;
|
||||
|
||||
namespace Agents;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Agents;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
|
||||
namespace Agents;
|
||||
|
||||
@@ -293,7 +293,7 @@ public class SemanticCachingWithFilters(ITestOutputHelper output) : BaseTest(out
|
||||
[VectorStoreData]
|
||||
public string Result { get; set; }
|
||||
|
||||
[VectorStoreVector(Dimensions: 1536)]
|
||||
[VectorStoreVector(1536)]
|
||||
public ReadOnlyMemory<float> PromptEmbedding { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
<IsTestProject>true</IsTestProject>
|
||||
<!-- Suppress: "Declare types in namespaces", "Require ConfigureAwait", "Experimental" -->
|
||||
<NoWarn>$(NoWarn);CS8618,IDE0009,IDE1006,CA1051,CA1050,CA1707,CA1054,CA2007,VSTHRD111,CS1591,RCS1110,RCS1243,CA5394,SKEXP0001,SKEXP0010,SKEXP0020,SKEXP0040,SKEXP0050,SKEXP0060,SKEXP0101,SKEXP0110,OPENAI001,CA1724,IDE1006,IDE0009,MEVD9000</NoWarn>
|
||||
<!-- CommunityToolkit.VectorData.CosmosNoSql pulls Microsoft.Azure.Cosmos which added a mandatory Newtonsoft.Json explicit-reference check; disable it since we don't use Newtonsoft.Json directly -->
|
||||
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
|
||||
<OutputType>Library</OutputType>
|
||||
<UserSecretsId>5ee045b0-aea3-4f08-8d31-32d1a6f8fed0</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
@@ -49,15 +51,12 @@
|
||||
<PackageReference Include="AWSSDK.Core" />
|
||||
<PackageReference Include="AWSSDK.SecurityToken" />
|
||||
<PackageReference Include="Grpc.Net.ClientFactory" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.CosmosMongoDB" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Pinecone" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.PgVector" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Redis" />
|
||||
<PackageReference Include="SharpCompress" /> <!-- Pin to patched version; overrides transitive 0.30.1 from MongoDB.Driver (GHSA-6c8g-7p36-r338) -->
|
||||
<PackageReference Include="Snappier" /> <!-- Pin to patched version; overrides transitive 1.0.0 from MongoDB.Driver (GHSA-pggp-6c3x-2xmx) -->
|
||||
<PackageReference Include="CommunityToolkit.VectorData.AzureAISearch" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.CosmosMongoDB" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Qdrant" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.PgVector" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Redis" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.Text.Json;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.HuggingFace;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Embeddings;
|
||||
|
||||
#pragma warning disable CS8602 // Dereference of a possibly null reference.
|
||||
@@ -52,7 +52,7 @@ public class HuggingFace_TextEmbeddingCustomHttpHandler(ITestOutputHelper output
|
||||
[VectorStoreData]
|
||||
public string Text { get; set; }
|
||||
|
||||
[VectorStoreVector(Dimensions: 768)]
|
||||
[VectorStoreVector(768)]
|
||||
public string Embedding { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Pinecone;
|
||||
using Pinecone;
|
||||
|
||||
namespace Memory.VectorStoreLangchainInterop;
|
||||
|
||||
/// <summary>
|
||||
/// Contains a factory method that can be used to create a Pinecone vector store that is compatible with datasets ingested using Langchain.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This class is used with the <see cref="VectorStore_Langchain_Interop"/> sample.
|
||||
/// </remarks>
|
||||
public static class PineconeFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// Record definition that matches the storage format used by Langchain for Pinecone.
|
||||
/// </summary>
|
||||
private static readonly VectorStoreCollectionDefinition s_definition = new()
|
||||
{
|
||||
Properties =
|
||||
[
|
||||
new VectorStoreKeyProperty("Key", typeof(string)),
|
||||
new VectorStoreDataProperty("Content", typeof(string)) { StorageName = "text" },
|
||||
new VectorStoreDataProperty("Source", typeof(string)) { StorageName = "source" },
|
||||
new VectorStoreVectorProperty("Embedding", typeof(ReadOnlyMemory<float>), 1536) { StorageName = "embedding" }
|
||||
]
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Pinecone-backed <see cref="VectorStore"/> that can be used to read data that was ingested using Langchain.
|
||||
/// </summary>
|
||||
/// <param name="pineconeClient">Pinecone client that can be used to manage the collections and points in a Pinecone store.</param>
|
||||
/// <returns>The <see cref="VectorStore"/>.</returns>
|
||||
public static VectorStore CreatePineconeLangchainInteropVectorStore(PineconeClient pineconeClient)
|
||||
=> new PineconeLangchainInteropVectorStore(new PineconeVectorStore(pineconeClient), pineconeClient);
|
||||
|
||||
private sealed class PineconeLangchainInteropVectorStore(
|
||||
VectorStore innerStore,
|
||||
PineconeClient pineconeClient)
|
||||
: VectorStore
|
||||
{
|
||||
private readonly PineconeClient _pineconeClient = pineconeClient;
|
||||
|
||||
public override VectorStoreCollection<TKey, TRecord> GetCollection<TKey, TRecord>(string name, VectorStoreCollectionDefinition? definition = null)
|
||||
{
|
||||
if (typeof(TKey) != typeof(string) || typeof(TRecord) != typeof(LangchainDocument<string>))
|
||||
{
|
||||
throw new NotSupportedException("This VectorStore is only usable with string keys and LangchainDocument<string> record types");
|
||||
}
|
||||
|
||||
// Create a Pinecone collection and pass in our custom record definition that matches
|
||||
// the schema used by Langchain so that the default mapper can use the storage names
|
||||
// in it, to map to the storage scheme.
|
||||
return (new PineconeCollection<TKey, TRecord>(
|
||||
_pineconeClient,
|
||||
name,
|
||||
new()
|
||||
{
|
||||
Definition = s_definition
|
||||
}) as VectorStoreCollection<TKey, TRecord>)!;
|
||||
}
|
||||
|
||||
public override VectorStoreCollection<object, Dictionary<string, object?>> GetDynamicCollection(string name, VectorStoreCollectionDefinition? definition = null)
|
||||
{
|
||||
// Create a Pinecone collection and pass in our custom record definition that matches
|
||||
// the schema used by Langchain so that the default mapper can use the storage names
|
||||
// in it, to map to the storage scheme.
|
||||
return new PineconeDynamicCollection(
|
||||
_pineconeClient,
|
||||
name,
|
||||
new()
|
||||
{
|
||||
Definition = s_definition
|
||||
});
|
||||
}
|
||||
|
||||
public override object? GetService(Type serviceType, object? serviceKey = null) => innerStore.GetService(serviceType, serviceKey);
|
||||
|
||||
public override IAsyncEnumerable<string> ListCollectionNamesAsync(CancellationToken cancellationToken = default) => innerStore.ListCollectionNamesAsync(cancellationToken);
|
||||
|
||||
public override Task<bool> CollectionExistsAsync(string name, CancellationToken cancellationToken = default) => innerStore.CollectionExistsAsync(name, cancellationToken);
|
||||
|
||||
public override Task EnsureCollectionDeletedAsync(string name, CancellationToken cancellationToken = default) => innerStore.EnsureCollectionDeletedAsync(name, cancellationToken);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using StackExchange.Redis;
|
||||
|
||||
namespace Memory.VectorStoreLangchainInterop;
|
||||
|
||||
@@ -4,9 +4,9 @@ using System.Text;
|
||||
using System.Text.Json;
|
||||
using Azure;
|
||||
using Azure.Search.Documents.Indexes;
|
||||
using CommunityToolkit.VectorData.AzureAISearch;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.AzureAISearch;
|
||||
using Microsoft.SemanticKernel.Memory;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.Text.Json;
|
||||
using CommunityToolkit.VectorData.Qdrant;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Qdrant;
|
||||
using Microsoft.SemanticKernel.Memory;
|
||||
using Qdrant.Client;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using Microsoft.SemanticKernel.Memory;
|
||||
using StackExchange.Redis;
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
using System.Text.Json;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using CommunityToolkit.VectorData.Qdrant;
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Connectors.Qdrant;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using Qdrant.Client;
|
||||
using StackExchange.Redis;
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
using System.Text.Json;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.Qdrant;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Qdrant;
|
||||
using Qdrant.Client;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
using System.Text.Json;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.Qdrant;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Qdrant;
|
||||
using Qdrant.Client;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
@@ -4,9 +4,9 @@ using Azure;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using Azure.Search.Documents.Indexes;
|
||||
using CommunityToolkit.VectorData.AzureAISearch;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.AzureAISearch;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ using Azure.Identity;
|
||||
using Memory.VectorStoreLangchainInterop;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Pinecone;
|
||||
using StackExchange.Redis;
|
||||
|
||||
namespace Memory;
|
||||
@@ -25,17 +24,6 @@ namespace Memory;
|
||||
/// </remarks>
|
||||
public class VectorStore_Langchain_Interop(ITestOutputHelper output) : BaseTest(output)
|
||||
{
|
||||
/// <summary>
|
||||
/// Shows how to read data from a Pinecone collection that was created and ingested using Langchain.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public async Task ReadDataFromLangchainPineconeAsync()
|
||||
{
|
||||
var pineconeClient = new PineconeClient(TestConfiguration.Pinecone.ApiKey);
|
||||
var vectorStore = PineconeFactory.CreatePineconeLangchainInteropVectorStore(pineconeClient);
|
||||
await this.ReadDataFromCollectionAsync(vectorStore, "pets");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows how to read data from a Redis collection that was created and ingested using Langchain.
|
||||
/// </summary>
|
||||
|
||||
@@ -4,10 +4,10 @@ using Azure;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using Azure.Search.Documents.Indexes;
|
||||
using CommunityToolkit.VectorData.AzureAISearch;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.AzureAISearch;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.PgVector;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.PgVector;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.Qdrant;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.Qdrant;
|
||||
using Qdrant.Client;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using Memory.VectorStoreFixtures;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using StackExchange.Redis;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace Memory;
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
using System.ClientModel;
|
||||
using System.ClientModel.Primitives;
|
||||
using System.Text.Json;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Resources;
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.Runtime.CompilerServices;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.ChatCompletion;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.PromptTemplates.Handlebars;
|
||||
using Microsoft.SemanticKernel.Services;
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text.Json;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Microsoft.SemanticKernel.PromptTemplates.Handlebars;
|
||||
using OpenAI;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using OpenAI;
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
<PackageReference Include="Aspire.Azure.AI.OpenAI" />
|
||||
<PackageReference Include="Aspire.Azure.Search.Documents" />
|
||||
<PackageReference Include="Azure.Identity" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.AzureAISearch" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" />
|
||||
<PackageReference Include="ModelContextProtocol" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using MCPServer;
|
||||
using MCPServer.ProjectResources;
|
||||
using MCPServer.Prompts;
|
||||
@@ -9,7 +10,6 @@ using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Agents;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using ModelContextProtocol.Protocol;
|
||||
using ModelContextProtocol.Server;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="Facts\*.txt">
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.ML.OnnxRuntimeGenAI;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.ChatCompletion;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Connectors.Onnx;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Microsoft.SemanticKernel.PromptTemplates.Handlebars;
|
||||
@@ -134,6 +134,6 @@ internal sealed class InformationItem
|
||||
[TextSearchResultValue]
|
||||
public string Text { get; set; } = string.Empty;
|
||||
|
||||
[VectorStoreVector(Dimensions: 384)]
|
||||
[VectorStoreVector(384)]
|
||||
public string Embedding => this.Text;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<NoWarn>$(NoWarn);SKEXP0001;SKEXP0010</NoWarn>
|
||||
<!-- CommunityToolkit.VectorData.CosmosNoSql pulls Microsoft.Azure.Cosmos which added a mandatory Newtonsoft.Json explicit-reference check; disable it since we don't use Newtonsoft.Json directly -->
|
||||
<AzureCosmosDisableNewtonsoftJsonCheck>true</AzureCosmosDisableNewtonsoftJsonCheck>
|
||||
<UserSecretsId>c4203b00-7179-47c1-8701-ee352e381412</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -15,15 +17,13 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" />
|
||||
<PackageReference Include="Microsoft.Extensions.Options.DataAnnotations" />
|
||||
<PackageReference Include="PdfPig" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.CosmosMongoDB" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.CosmosNoSql" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Redis" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Weaviate" />
|
||||
<PackageReference Include="SharpCompress" /> <!-- Pin to patched version; overrides transitive 0.30.1 from MongoDB.Driver (GHSA-6c8g-7p36-r338) -->
|
||||
<PackageReference Include="Snappier" /> <!-- Pin to patched version; overrides transitive 1.0.0 from MongoDB.Driver (GHSA-pggp-6c3x-2xmx) -->
|
||||
<PackageReference Include="CommunityToolkit.VectorData.AzureAISearch" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.CosmosMongoDB" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.CosmosNoSql" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Qdrant" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Redis" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Weaviate" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
|
||||
<PackageReference Include="Microsoft.ML.Tokenizers" />
|
||||
<PackageReference Include="System.Numerics.Tensors" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(RepoRoot)/dotnet/src/InternalUtilities/samples/SamplesInternalUtilities.props" />
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System.Reflection;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using OpenAI;
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.AzureAISearch" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Redis" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.AzureAISearch" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.Redis" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(RepoRoot)/dotnet/src/InternalUtilities/samples/SamplesInternalUtilities.props" />
|
||||
|
||||
@@ -25,6 +25,6 @@ internal sealed class Glossary
|
||||
[VectorStoreData]
|
||||
public string Definition { get; set; }
|
||||
|
||||
[VectorStoreVector(Dimensions: 1536)]
|
||||
[VectorStoreVector(1536)]
|
||||
public ReadOnlyMemory<float> DefinitionEmbedding { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace GettingStartedWithVectorStores;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
|
||||
namespace GettingStartedWithVectorStores;
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
using Azure;
|
||||
using Azure.Search.Documents.Indexes;
|
||||
using Microsoft.SemanticKernel.Connectors.AzureAISearch;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using CommunityToolkit.VectorData.AzureAISearch;
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using StackExchange.Redis;
|
||||
|
||||
namespace GettingStartedWithVectorStores;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using CommunityToolkit.VectorData.Redis;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel.Connectors.Redis;
|
||||
using StackExchange.Redis;
|
||||
|
||||
namespace GettingStartedWithVectorStores;
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="Testcontainers.Milvus" />
|
||||
<PackageReference Include="Testcontainers.MongoDB" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Agents\AzureAI\Agents.AzureAI.csproj" />
|
||||
|
||||
@@ -7,12 +7,12 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Azure.AI.OpenAI;
|
||||
using Azure.Identity;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Agents;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Functions;
|
||||
using SemanticKernel.IntegrationTests.TestSettings;
|
||||
using Xunit;
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
-->
|
||||
<ItemGroup>
|
||||
<Compile Include="$(RepoRoot)/dotnet/src/InternalUtilities/src/System/*.cs" Link="Shared/System/%(Filename)%(Extension)" />
|
||||
<!-- PathUtilities is only needed by Plugins.Core (FileIOPlugin); exclude it from VectorData connectors. -->
|
||||
<Compile Remove="$(RepoRoot)/dotnet/src/InternalUtilities/src/System/PathUtilities.cs" />
|
||||
<Compile Include="$(RepoRoot)/dotnet/src/InternalUtilities/src/Data/*.cs" Link="Shared/Data/%(Filename)%(Extension)" />
|
||||
<Compile Include="$(RepoRoot)/dotnet/src/InternalUtilities/src/Linq/*.cs" Link="Shared/Linq/%(Filename)%(Extension)" />
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using Microsoft.Extensions.VectorData;
|
||||
namespace SemanticKernel.AotTests.UnitTests.Search;
|
||||
|
||||
internal sealed class MockVectorizableTextSearch<TRecord> : IVectorSearchable<TRecord>
|
||||
where TRecord : class
|
||||
{
|
||||
private readonly IAsyncEnumerable<VectorSearchResult<TRecord>> _searchResults;
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- https://learn.microsoft.com/dotnet/fundamentals/package-validation/diagnostic-ids -->
|
||||
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchKernelBuilderExtensions.AddVectorStoreTextSearch``1(Microsoft.SemanticKernel.IKernelBuilder,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchServiceCollectionExtensions.AddVectorStoreTextSearch``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>T:Microsoft.SemanticKernel.Data.VectorStoreTextSearch`1``0:class</Target>
|
||||
<Left>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net10.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchKernelBuilderExtensions.AddVectorStoreTextSearch``1(Microsoft.SemanticKernel.IKernelBuilder,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchServiceCollectionExtensions.AddVectorStoreTextSearch``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>T:Microsoft.SemanticKernel.Data.VectorStoreTextSearch`1``0:class</Target>
|
||||
<Left>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/net8.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchKernelBuilderExtensions.AddVectorStoreTextSearch``1(Microsoft.SemanticKernel.IKernelBuilder,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>M:Microsoft.SemanticKernel.TextSearchServiceCollectionExtensions.AddVectorStoreTextSearch``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.SemanticKernel.Data.ITextSearchStringMapper,Microsoft.SemanticKernel.Data.ITextSearchResultMapper,Microsoft.SemanticKernel.Data.VectorStoreTextSearchOptions,System.String)``0:class</Target>
|
||||
<Left>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0021</DiagnosticId>
|
||||
<Target>T:Microsoft.SemanticKernel.Data.VectorStoreTextSearch`1``0:class</Target>
|
||||
<Left>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Left>
|
||||
<Right>lib/netstandard2.0/Microsoft.SemanticKernel.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
</Suppressions>
|
||||
@@ -24,6 +24,7 @@ public static class TextSearchKernelBuilderExtensions
|
||||
ITextSearchResultMapper? resultMapper = null,
|
||||
VectorStoreTextSearchOptions? options = null,
|
||||
string? serviceId = default)
|
||||
where TRecord : class
|
||||
{
|
||||
builder.Services.AddVectorStoreTextSearch<TRecord>(stringMapper, resultMapper, options, serviceId);
|
||||
return builder;
|
||||
|
||||
+1
@@ -28,6 +28,7 @@ public static class TextSearchServiceCollectionExtensions
|
||||
ITextSearchResultMapper? resultMapper = null,
|
||||
VectorStoreTextSearchOptions? options = null,
|
||||
string? serviceId = default)
|
||||
where TRecord : class
|
||||
{
|
||||
// If we are not constructing the dependent services, add the VectorStoreTextSearch as transient, since we
|
||||
// cannot make assumptions about how dependent services are being managed.
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Microsoft.SemanticKernel.Data;
|
||||
[Experimental("SKEXP0001")]
|
||||
#pragma warning disable CS0618 // ITextSearch is obsolete
|
||||
public sealed class VectorStoreTextSearch<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)] TRecord> : ITextSearch<TRecord>, ITextSearch
|
||||
where TRecord : class
|
||||
#pragma warning restore CS0618
|
||||
#pragma warning restore CA1711 // Identifiers should not have incorrect suffix
|
||||
{
|
||||
|
||||
+1
-1
@@ -1,10 +1,10 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
using System;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Microsoft.SemanticKernel.Embeddings;
|
||||
using Xunit;
|
||||
|
||||
@@ -5,10 +5,10 @@ using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.Extensions.AI;
|
||||
using Microsoft.Extensions.VectorData;
|
||||
using Microsoft.SemanticKernel;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Microsoft.SemanticKernel.Embeddings;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.SemanticKernel.Connectors.InMemory;
|
||||
using CommunityToolkit.VectorData.InMemory;
|
||||
using Microsoft.SemanticKernel.Data;
|
||||
using Microsoft.SemanticKernel.Embeddings;
|
||||
using Xunit;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.ML.Tokenizers" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
|
||||
<PackageReference Include="Microsoft.SemanticKernel.Connectors.InMemory" />
|
||||
<PackageReference Include="CommunityToolkit.VectorData.InMemory" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MongoDB.Driver" />
|
||||
<PackageReference Include="SharpCompress" /><!-- Pin to patched version; overrides transitive 0.30.1 from MongoDB.Driver (GHSA-6c8g-7p36-r338) -->
|
||||
<PackageReference Include="Snappier" /><!-- Pin to patched version; overrides transitive 1.0.0 from MongoDB.Driver (GHSA-pggp-6c3x-2xmx) -->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MongoDB.Driver" />
|
||||
<PackageReference Include="SharpCompress" /><!-- Pin to patched version; overrides transitive 0.30.1 from MongoDB.Driver (GHSA-6c8g-7p36-r338) -->
|
||||
<PackageReference Include="Snappier" /><!-- Pin to patched version; overrides transitive 1.0.0 from MongoDB.Driver (GHSA-pggp-6c3x-2xmx) -->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user