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

MILVUS_YC_API_KEY

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

provider

Sì

Il provider del modello di embedding da utilizzare.

"yc"

model_name

Sì

L'URI del modello Yandex Cloud da chiamare.

"emb://<folder_ID>/text-search-doc/latest"

credential

No

L'etichetta di una credenziale definita nella sezione di primo livello credential: di milvus.yaml.

"yandex_apikey"

dim

No

La dimensione del vettore di output. Se specificato, il valore deve corrispondere alla dimensione del campo del vettore di output.

"256"

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.

Tradotto daDeepL

Prova Milvus gestito gratuitamente

Zilliz Cloud è senza problemi, basato su Milvus e 10 volte più veloce.

Inizia
Feedback

Questa pagina è stata utile?