Yandex CloudCompatible with Milvus 2.6.x
Este tópico descreve como configurar e utilizar as funções de incorporação do Yandex Cloud no Milvus.
Escolher um modelo de incorporação
O Milvus suporta os modelos de vetorização de texto do Yandex Cloud AI Studio através do fornecedor yc. Nos parâmetros da função, defina « model_name » como o URI do modelo do Yandex Cloud que o Milvus deve chamar.
Por exemplo, o Yandex Text Embeddings para documentos utiliza um URI de modelo como emb://<folder_ID>/text-search-doc/latest e devolve vetores de 256 dimensões. Para conhecer os URIs de modelos e dimensões disponíveis, consulte Modelos de vetorização de texto.
Configurar credenciais
O Milvus precisa de conhecer a sua chave API do Yandex Cloud antes de poder solicitar embeddings. Pode configurar a chave API em milvus.yaml ou através de uma variável de ambiente.
Opção 1: Ficheiro de configuração
Guarde a sua chave de API em milvus.yaml e indique ao fornecedor Yandex Cloud o rótulo da credencial.
# 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
Opção 2: Variável de ambiente
Se não estiver configurada nenhuma credencial correspondente em milvus.yaml, o Milvus pode ler a chave da API do Yandex Cloud a partir da seguinte variável de ambiente:
Variável |
Obrigatória? |
Descrição |
|---|---|---|
|
Sim |
Chave da API do Yandex Cloud utilizada pelo serviço Milvus para aceder ao Yandex Cloud AI Studio. |
Utilizar função de incorporação
Depois de configurar as credenciais, defina um esquema com um campo de texto de entrada e um campo de vetor de saída e, em seguida, adicione uma função de incorporação do Yandex Cloud ao 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 do Yandex Cloud
Parâmetro |
Obrigatório? |
Descrição |
Valor / Exemplo |
|---|---|---|---|
|
Sim |
O fornecedor do modelo de incorporação a utilizar. |
|
|
Sim |
O URI do modelo do Yandex Cloud a ser chamado. |
|
|
Não |
O rótulo de uma credencial definida na secção de nível superior « |
|
|
Não |
A dimensão do vetor de saída. Se definida, o valor deve corresponder à dimensão do campo do vetor de saída. |
|
Próximos passos
Após configurar a função de incorporação, consulte a Visão geral da função de incorporação para obter orientações sobre como criar índices, inserir dados e executar a pesquisa semântica.