共用方式為


使用記憶體內部連線器 (預覽)

警告

語意核心向量存放區功能處於預覽狀態,且需要重大變更的改善可能仍會在發行前有限的情況下發生。

概觀

記憶體內部向量存放區連接器是由 Semantic Kernel 提供的向量存放區實作,不會使用外部資料庫,並將數據儲存在記憶體中。 此向量存放區適用於原型設計案例,或需要高速記憶體內部作業的情況。

連接器具有下列特性。

功能區域 支援
集合對應至 記憶體內部字典
支援的索引鍵屬性類型 可以比較的任何類型
支援的數據類型 任何型別
支援的向量屬性類型 ReadOnlyMemory<float>
支援的索引類型 N/A
支援的距離函式 N/A
支援記錄中的多個向量 Yes
是否支援IsFilterable? Yes
是否支援IsFullTextSearchable? Yes
支援的 StoragePropertyName? 否,因為記憶體是記憶體內部,因此無法重複使用數據,因此不適用自定義命名。

開始使用

將 Semantic Kernel Core nuget 套件新增至您的專案。

dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease

您可以使用 Semantic Kernel 所提供的擴充方法,將向量存放區新增至 IServiceCollectionKernelBuilder可用的相依性插入容器或相依性插入容器。

using Microsoft.SemanticKernel;

// Using Kernel Builder.
var kernelBuilder = Kernel
    .CreateBuilder()
    .AddInMemoryVectorStore();
using Microsoft.SemanticKernel;

// Using IServiceCollection with ASP.NET Core.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddInMemoryVectorStore();

您可以直接建構 InMemory 向量存放區實例。

using Microsoft.SemanticKernel.Connectors.InMemory;

var vectorStore = new InMemoryVectorStore();

可以建構具名集合的直接參考。

using Microsoft.SemanticKernel.Connectors.InMemory;

var collection = new InMemoryVectorStoreRecordCollection<string, Hotel>("skhotels");

即將推出

更多信息即將推出。

即將推出

更多信息即將推出。