Yandex CloudCompatible with Milvus 2.6.x
このトピックでは、Milvus で Yandex Cloud の埋め込み関数を設定および使用する方法について説明します。
埋め込みモデルの選択
Milvusは、yc プロバイダーを通じて、Yandex Cloud AI Studioのテキストベクトル化モデルをサポートしています。「Function parameters」で、model_name を、Milvusが呼び出すべきYandex CloudモデルのURIに設定してください。
たとえば、ドキュメント用の「Yandex Text Embeddings」では、emb://<folder_ID>/text-search-doc/latest のようなモデル URI が使用され、256 次元のベクトルが返されます。利用可能なモデル URI および次元については、「テキストベクトル化モデル」を参照してください。
認証情報の設定
Milvusが埋め込みをリクエストするには、Yandex CloudのAPIキーを指定する必要があります。APIキーは、milvus.yaml で設定するか、環境変数を通じて指定できます。
オプション 1: 設定ファイル
APIキーをmilvus.yaml に保存し、Yandex Cloudプロバイダーをその認証情報ラベルに指定します。
# milvus.yaml
credential:
yandex_apikey:
apikey: <YOUR_YC_API_KEY>
function:
textEmbedding:
providers:
yc:
credential: yandex_apikey
# url: https://llm.api.cloud.yandex.net/foundationModels/v1/textEmbedding
オプション 2: 環境変数
milvus.yaml に一致する認証情報が設定されていない場合、Milvus は以下の環境変数から Yandex Cloud API キーを読み取ることができます:
変数 |
必須? |
説明 |
|---|---|---|
|
はい |
Milvus サービスが Yandex Cloud AI Studio を呼び出す際に使用する Yandex Cloud API キー。 |
埋め込み関数の使用
認証情報を設定したら、入力テキストフィールドと出力ベクトルフィールドを含むスキーマを定義し、そのスキーマに Yandex Cloud 埋め込み関数を追加します。
from pymilvus import MilvusClient, DataType, Function, FunctionType
client = MilvusClient(uri="http://localhost:19530")
schema = client.create_schema()
schema.add_field("id", DataType.INT64, is_primary=True, auto_id=False)
schema.add_field("document", DataType.VARCHAR, max_length=9000)
schema.add_field("dense", DataType.FLOAT_VECTOR, dim=256)
text_embedding_function = Function(
name="yandex_cloud_embedding",
function_type=FunctionType.TEXTEMBEDDING,
input_field_names=["document"],
output_field_names=["dense"],
params={
"provider": "yc",
"model_name": "emb://<folder_ID>/text-search-doc/latest",
"credential": "yandex_apikey",
"dim": "256",
},
)
schema.add_function(text_embedding_function)
Yandex Cloud固有のパラメータ
パラメータ |
必須? |
説明 |
値 / 例 |
|---|---|---|---|
|
はい |
使用する埋め込みモデルプロバイダ。 |
|
|
はい |
呼び出す Yandex Cloud モデルの URI。 |
|
|
いいえ |
|
|
|
いいえ |
出力ベクトルの次元。設定する場合、その値は出力ベクトルフィールドの次元と一致する必要があります。 |
|
次の手順
埋め込み関数の設定が完了したら、「埋め込み関数の概要」を参照し、インデックスの作成、データの挿入、およびセマンティック検索の実行に関する手順を確認してください。