使用記憶體內部連線器 (預覽)
警告
語意核心向量存放區功能處於預覽狀態,且需要重大變更的改善可能仍會在發行前有限的情況下發生。
概觀
記憶體內部向量存放區連接器是由 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 所提供的擴充方法,將向量存放區新增至 IServiceCollection
上KernelBuilder
可用的相依性插入容器或相依性插入容器。
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");
即將推出
更多信息即將推出。
即將推出
更多信息即將推出。