Yandex CloudCompatible with Milvus 2.6.x
Cette rubrique explique comment configurer et utiliser les fonctions d'embedding de Yandex Cloud dans Milvus.
Choisissez un modèle d'embedding
Milvus prend en charge les modèles de vectorisation de texte de Yandex Cloud AI Studio via le fournisseur yc. Dans les paramètres de la fonction, définissez « model_name » sur l’URI du modèle Yandex Cloud que Milvus doit appeler.
Par exemple, Yandex Text Embeddings pour les documents utilise une URI de modèle telle que emb://<folder_ID>/text-search-doc/latest et renvoie des vecteurs à 256 dimensions. Pour connaître les URI de modèles et les dimensions disponibles, consultez la section Modèles de vectorisation de texte.
Configurer les identifiants
Milvus doit connaître votre clé API Yandex Cloud avant de pouvoir demander des embeddings. Vous pouvez configurer la clé API dans milvus.yaml ou via une variable d’environnement.
Option 1 : Fichier de configuration
Enregistrez votre clé API dans milvus.yaml et indiquez au fournisseur Yandex Cloud le libellé correspondant aux informations d’authentification.
# 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
Option 2 : Variable d’environnement
Si aucun identifiant correspondant n’est configuré dans ` milvus.yaml`, Milvus peut lire la clé API Yandex Cloud à partir de la variable d’environnement suivante :
Variable |
Obligatoire ? |
Description |
|---|---|---|
|
Oui |
Clé API Yandex Cloud utilisée par le service Milvus pour appeler Yandex Cloud AI Studio. |
Utiliser la fonction d'embedding
Une fois les identifiants configurés, définissez un schéma comportant un champ de texte en entrée et un champ vectoriel en sortie, puis ajoutez une fonction d'embedding Yandex Cloud au schéma.
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)
Paramètres spécifiques à Yandex Cloud
Paramètre |
Obligatoire ? |
Description |
Valeur / Exemple |
|---|---|---|---|
|
Oui |
Fournisseur de modèle d'intégration à utiliser. |
|
|
Oui |
L'URI du modèle Yandex Cloud à appeler. |
|
|
Non |
L'étiquette d'un identifiant défini dans la section de niveau supérieur |
|
|
Non |
La dimension du vecteur de sortie. Si elle est définie, la valeur doit correspondre à la dimension du champ du vecteur de sortie. |
|
Étapes suivantes
Une fois la fonction d’intégration configurée, consultez la section Présentation de la fonction d’intégration pour obtenir des conseils sur la création d’index, l’insertion de données et l’exécution d’une recherche sémantique.