警告
In-Memory Vector Store の機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。
警告
セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。
警告
セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。
概要
インメモリ ベクター ストア コネクタは、セマンティック カーネルによって提供されるベクター ストア実装であり、外部データベースを使用せず、データをメモリに格納します。 このベクター ストアは、プロトタイプ作成のシナリオや、高速なメモリ内操作が必要な場合に役立ちます。
コネクタには次の特性があります。
特徴エリア | サポート |
---|---|
コレクションをマッピングする | メモリ内ディクショナリ |
サポートされているキー プロパティの種類 | 比較できる任意の型 |
サポートされているデータ プロパティ型 | 任意の型 |
サポートされているベクター プロパティ型 |
|
サポートされているインデックスの種類 | 平ら |
サポートされている距離関数 |
|
サポートされているフィルター句 |
|
レコード内の複数のベクターをサポートします | はい |
IsIndexed はサポートされていますか? | はい |
IsFullTextIndexed がサポートされていますか? | はい |
StorageName がサポートされていますか? | いいえ。ストレージはメモリ内にあり、データの再利用は不可能であるため、カスタムの名前付けは適用されません。 |
HybridSearch はサポートされていますか? | いいえ |
作業の開始
セマンティック カーネル コア nuget パッケージをプロジェクトに追加します。
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
セマンティック カーネルによって提供される拡張メソッドを使用して、 KernelBuilder
で使用できる依存関係挿入コンテナーまたは IServiceCollection
依存関係挿入コンテナーにベクター ストアを追加できます。
using Microsoft.Extensions.DependencyInjection;
using Microsoft.SemanticKernel;
// Using Kernel Builder.
var kernelBuilder = Kernel
.CreateBuilder();
kernelBuilder.Services
.AddInMemoryVectorStore();
using Microsoft.Extensions.DependencyInjection;
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 InMemoryCollection<string, Hotel>("skhotels");
概要
インメモリ ベクター ストア コネクタは、セマンティック カーネルによって提供されるベクター ストア実装であり、外部データベースを使用せず、データをメモリに格納します。 このベクター ストアは、プロトタイプ作成のシナリオや、高速なメモリ内操作が必要な場合に役立ちます。
コネクタには次の特性があります。
特徴エリア | サポート |
---|---|
コレクションをマッピングする | メモリ内ディクショナリ |
サポートされているキー プロパティの種類 | dict キーであることが可能であるものについては、詳細について python のドキュメントを参照してください こちら で確認してください。 |
サポートされているデータ プロパティ型 | 任意の型 |
サポートされているベクター プロパティ型 | list[float | int] | numpy 配列 |
サポートされているインデックスの種類 | 平ら |
サポートされている距離関数 |
|
レコード内の複数のベクターをサポートします | はい |
is_filterableサポートされていますか? | はい |
is_full_text_searchableはサポートされていますか? | はい |
作業の開始
セマンティック カーネル パッケージをプロジェクトに追加します。
pip install semantic-kernel
そこからストアとコレクションを作成することも、コレクションを直接作成することもできます。
次のスニペットでは、"DataModel" という名前のデータ モデル クラスが定義されていることを前提としています。
from semantic_kernel.connectors.in_memory import InMemoryVectorStore
vector_store = InMemoryVectorStore()
vector_collection = vector_store.get_collection(record_type=DataModel, collection_name="collection_name")
名前付きコレクションへの直接参照を構築できます。
from semantic_kernel.connectors.in_memory import InMemoryCollection
vector_collection = InMemoryCollection(record_type=DataModel, collection_name="collection_name")
近日公開
詳細については、近日公開予定です。