Yandex CloudCompatible with Milvus 2.6.x
En este tema se describe cómo configurar y utilizar las funciones de incrustación de Yandex Cloud en Milvus.
Elegir un modelo de incrustación
Milvus es compatible con los modelos de vectorización de texto de Yandex Cloud AI Studio a través del proveedor yc. En los parámetros de la función, establece « model_name » en la URI del modelo de Yandex Cloud que Milvus debe invocar.
Por ejemplo, Yandex Text Embeddings para documentos utiliza una URI de modelo como emb://<folder_ID>/text-search-doc/latest y devuelve vectores de 256 dimensiones. Para conocer las URI de modelo y las dimensiones disponibles, consulta Modelos de vectorización de texto.
Configurar las credenciales
Milvus debe conocer su clave de API de Yandex Cloud antes de poder solicitar incrustaciones. Puede configurar la clave de API en milvus.yaml o mediante una variable de entorno.
Opción 1: Archivo de configuración
Guarde su clave de API en milvus.yaml y asigne la etiqueta de credenciales al proveedor 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
Opción 2: Variable de entorno
Si no hay ninguna credencial coincidente configurada en milvus.yaml, Milvus puede leer la clave de la API de Yandex Cloud a partir de la siguiente variable de entorno:
Variable |
¿Es obligatoria? |
Descripción |
|---|---|---|
|
Sí |
Clave de la API de Yandex Cloud utilizada por el servicio Milvus para llamar a Yandex Cloud AI Studio. |
Utilizar la función de incrustación
Una vez configuradas las credenciales, define un esquema con un campo de texto de entrada y un campo vectorial de salida; a continuación, añade una función de incrustación de Yandex Cloud al esquema.
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)
Parámetros específicos de Yandex Cloud
Parámetro |
¿Es obligatorio? |
Descripción |
Valor / Ejemplo |
|---|---|---|---|
|
Sí |
El proveedor del modelo de incrustación que se va a utilizar. |
|
|
Sí |
El URI del modelo de Yandex Cloud al que se va a llamar. |
|
|
No |
La etiqueta de una credencial definida en la sección de nivel superior « |
|
|
No |
La dimensión del vector de salida. Si se establece, el valor debe coincidir con la dimensión del campo del vector de salida. |
|
Próximos pasos
Tras configurar la función de incrustación, consulta la Descripción general de la función de incrustación para obtener orientación sobre cómo crear índices, insertar datos y ejecutar búsquedas semánticas.