警告
セマンティック カーネル ベクター ストア機能はプレビュー段階であり、破壊的変更を必要とする機能強化は、リリース前の限られた状況で引き続き発生する可能性があります。
サポートされていません
サポートされていません。
概要
クロム ベクター ストア コネクタを使用して、Chrom のデータにアクセスして管理できます。 コネクタには次の特性があります。
| 機能領域 | サポート |
|---|---|
| コレクションのマップ | クロムコレクション |
| サポートされているキー プロパティの種類 | 糸 |
| サポートされているデータ プロパティ型 | すべての型 |
| サポートされているベクター プロパティ型 |
|
| サポートされているインデックスの種類 |
|
| サポートされている距離関数 |
|
| サポートされているフィルター句 |
|
| レコード内の複数のベクターをサポートします | いいえ |
| IsFilterable がサポートされていますか? | はい |
| IsFullTextSearchable がサポートされていますか? | はい |
制限
注目すべきChromaコネクタの機能制限。
| 機能領域 | 回避策 |
|---|---|
| クライアント/サーバー モード | クライアントを使用します。HttpClient と結果を client パラメーターに渡します。現時点では AsyncHttpClient はサポートされていません |
| クロムクラウド | 現在のところ、彩度クラウドはまだプライベート プレビュー段階であるため、不明確です |
開始する
プロジェクトに、Chrom Vector Store コネクタの依存関係を追加します。
pip install semantic-kernel[chroma]
その後、ベクター ストアを作成できます。
from semantic_kernel.connectors.chroma import ChromaStore
store = ChromaStore()
または、クライアントの構築をより詳細に制御する場合は、独自の mongodb クライアントを渡すこともできます。
from chromadb import Client
from semantic_kernel.connectors.chroma import ChromaStore
client = Client(...)
store = ChromaStore(client=client)
ストアを使用せずにコレクションを直接作成することもできます。
from semantic_kernel.connectors.chroma import ChromaCollection
# `hotel` is a class created with the @vectorstoremodel decorator
collection = ChromaCollection(
record_type=hotel,
collection_name="my_collection",
)
シリアリゼーション
Chrom クライアントは、get と search の両方の結果を表形式で返します。つまり、3 ~ 5 個のリストがディクテーションで返され、リストは 'keys'、'documents'、'embeddings'、および必要に応じて 'metadatas' と 'distances' です。 セマンティック カーネル クロム コネクタは、これを自動的に dict オブジェクトの一覧に変換し、データ モデルに解析します。
データ構造の再構築をかなり省略できるため、この形式からデータフレームのような構造に直接シリアル化することは、性能面で非常に興味深い選択肢となり得ます。 コンテナーモードを使用している場合でも自分で指定する必要があります。この概念の詳細については、シリアル化に関するドキュメントを参照してください。
サポートされていません
サポートされていません。