次の方法で共有


クロメート コネクタの使用 (プレビュー)

警告

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

サポートされていません

サポートされていません。

概要

クロム ベクター ストア コネクタを使用して、Chrom のデータにアクセスして管理できます。 コネクタには次の特性があります。

機能領域 サポート
コレクションのマップ クロムコレクション
サポートされているキー プロパティの種類
サポートされているデータ プロパティ型 すべての型
サポートされているベクター プロパティ型
  • list[float]
  • list[int]
  • ndarray
サポートされているインデックスの種類
  • HNSW
サポートされている距離関数
  • コサイン類似性
  • ドットプロダクト類似度
  • ユークリッド平方距離
サポートされているフィルター句
  • AnyTagEqualTo
  • EqualTo
レコード内の複数のベクターをサポートします いいえ
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 クライアントは、getsearch の両方の結果を表形式で返します。つまり、3 ~ 5 個のリストがディクテーションで返され、リストは 'keys'、'documents'、'embeddings'、および必要に応じて 'metadatas' と 'distances' です。 セマンティック カーネル クロム コネクタは、これを自動的に dict オブジェクトの一覧に変換し、データ モデルに解析します。

データ構造の再構築をかなり省略できるため、この形式からデータフレームのような構造に直接シリアル化することは、性能面で非常に興味深い選択肢となり得ます。 コンテナーモードを使用している場合でも自分で指定する必要があります。この概念の詳細については、シリアル化に関するドキュメントを参照してください。

サポートされていません

サポートされていません。