Yandex CloudCompatible with Milvus 2.6.x
In questa sezione viene descritto come configurare e utilizzare le funzioni di embedding di Yandex Cloud in Milvus.
Scegliere un modello di embedding
Milvus supporta i modelli di vettorializzazione del testo di Yandex Cloud AI Studio tramite il provider yc. Nei parametri della funzione, impostare " model_name " sull'URI del modello Yandex Cloud che Milvus deve richiamare.
Ad esempio, Yandex Text Embeddings per i documenti utilizza un URI del modello come emb://<folder_ID>/text-search-doc/latest e restituisce vettori a 256 dimensioni. Per gli URI dei modelli disponibili e le dimensioni, consultare Modelli di vettorializzazione del testo.
Configurare le credenziali
Milvus deve conoscere la chiave API di Yandex Cloud prima di poter richiedere gli embedding. È possibile configurare la chiave API in milvus.yaml o tramite una variabile d’ambiente.
Opzione 1: File di configurazione
Salvare la chiave API in milvus.yaml e indirizzare il provider Yandex Cloud all’etichetta delle credenziali.
# 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
Opzione 2: Variabile d’ambiente
Se in milvus.yaml non è configurata alcuna credenziale corrispondente, Milvus può leggere la chiave API di Yandex Cloud dalla seguente variabile d'ambiente:
Variabile |
Obbligatoria? |
Descrizione |
|---|---|---|
|
Sì |
Chiave API di Yandex Cloud utilizzata dal servizio Milvus per richiamare Yandex Cloud AI Studio. |
Utilizza la funzione di embedding
Una volta configurate le credenziali, definire uno schema con un campo di testo in ingresso e un campo vettoriale in uscita, quindi aggiungere una funzione di embedding di Yandex Cloud allo schema.
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)
Parametri specifici di Yandex Cloud
Parametro |
Obbligatorio? |
Descrizione |
Valore / Esempio |
|---|---|---|---|
|
Sì |
Il provider del modello di embedding da utilizzare. |
|
|
Sì |
L'URI del modello Yandex Cloud da chiamare. |
|
|
No |
L'etichetta di una credenziale definita nella sezione di primo livello |
|
|
No |
La dimensione del vettore di output. Se specificato, il valore deve corrispondere alla dimensione del campo del vettore di output. |
|
Passi successivi
Dopo aver configurato la funzione di embedding, consultare la panoramica sulla funzione di embedding per indicazioni su come creare indici, inserire dati ed eseguire la ricerca semantica.