インメモリ コネクタの使用 (プレビュー)
警告
セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。
概要
インメモリ ベクター ストア コネクタは、セマンティック カーネルによって提供されるベクター ストア実装であり、外部データベースを使用せず、データをメモリに格納します。 このベクター ストアは、プロトタイプ作成のシナリオや、高速なメモリ内操作が必要な場合に役立ちます。
コネクタには次の特性があります。
機能領域 | サポート |
---|---|
コレクションのマップ | メモリ内ディクショナリ |
サポートされているキー プロパティの種類 | 比較できる任意の型 |
サポートされているデータ プロパティ型 | 任意の型 |
サポートされているベクター プロパティ型 | ReadOnlyMemory<float> |
サポートされているインデックスの種類 | 該当なし |
サポートされている距離関数 | 該当なし |
レコード内の複数のベクターをサポートします | はい |
IsFilterable がサポートされていますか? | はい |
IsFullTextSearchable がサポートされていますか? | はい |
StoragePropertyName がサポートされていますか? | いいえ。ストレージはメモリ内にあり、データの再利用は不可能であるため、カスタムの名前付けは適用されません。 |
作業の開始
セマンティック カーネル コア nuget パッケージをプロジェクトに追加します。
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
セマンティック カーネルによって提供される拡張メソッドを使用して、 KernelBuilder
で使用できる依存関係挿入コンテナーまたは IServiceCollection
依存関係挿入コンテナーにベクター ストアを追加できます。
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");
間もなく利用できます
詳細については、近日公開予定です。
間もなく利用できます
詳細については、近日公開予定です。