Yandex CloudCompatible with Milvus 2.6.x
本主題說明如何在 Milvus 中設定及使用 Yandex Cloud 的嵌入式函式。
選擇嵌入式模型
Milvus 透過yc 提供者支援 Yandex Cloud AI Studio 的文字向量化模型。在「函式參數」中,將 `model_name ` 設定為 Milvus 應呼叫的 Yandex Cloud 模型 URI。
例如,Yandex 文件文字嵌入功能使用的模型 URI 為emb://<folder_ID>/text-search-doc/latest ,並會傳回 256 維向量。有關可用的模型 URI 和維度,請參閱「文字向量化模型」。
設定憑證
Milvus 必須先取得您的 Yandex Cloud API 金鑰,才能請求嵌入向量。您可以在milvus.yaml 中設定 API 金鑰,或透過環境變數進行設定。
選項 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。 |
|
|
否 |
在 |
|
|
否 |
輸出向量的維度。若設定此參數,其值必須與輸出向量欄位的維度相符。 |
|
後續步驟
配置完嵌入函數後,請參閱《嵌入函數概覽》,以獲取有關建立索引、插入資料及執行語義搜尋的指引。