次の方法で共有


インメモリ コネクタの使用 (プレビュー)

警告

セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。

概要

インメモリ ベクター ストア コネクタは、セマンティック カーネルによって提供されるベクター ストア実装であり、外部データベースを使用せず、データをメモリに格納します。 このベクター ストアは、プロトタイプ作成のシナリオや、高速なメモリ内操作が必要な場合に役立ちます。

コネクタには次の特性があります。

機能領域 サポート
コレクションのマップ メモリ内ディクショナリ
サポートされているキー プロパティの種類 比較できる任意の型
サポートされているデータ プロパティ型 任意の型
サポートされているベクター プロパティ型 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");

間もなく利用できます

詳細については、近日公開予定です。

間もなく利用できます

詳細については、近日公開予定です。