DashScope RankerCompatible with Milvus 2.6.x
O DashScope Ranker permite que o Milvus recorra aos modelos de reclassificação do DashScope da Alibaba Cloud para reordenar os resultados de pesquisa por relevância semântica.
Pré-requisitos
Antes de utilizar o DashScope Ranker, certifique-se de que dispõe de:
Uma coleção do Milvus com um campo «
VARCHAR» que contenha o texto a ser reclassificado.Uma chave de API válida do DashScope.
Acesso a um modelo de reclassificação do DashScope, como o
gte-rerank-v2.
Para conhecer os modelos de reclassificação disponíveis e os pontos de extremidade regionais, consulte a API de reclassificação de texto do Alibaba Cloud Model Studio.
Configurar credenciais
O Milvus precisa de conhecer a sua chave API do DashScope antes de poder solicitar a reclassificação ao DashScope. 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 de reclassificação do DashScope o rótulo da credencial.
# milvus.yaml
credential:
dashscope_apikey:
apikey: <YOUR_DASHSCOPE_API_KEY>
function:
rerank:
model:
providers:
ali:
credential: dashscope_apikey
# url: https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank
Opção 2: Variável de ambiente
Se não estiver configurada nenhuma credencial correspondente em milvus.yaml, o Milvus pode ler a chave API do DashScope a partir da seguinte variável de ambiente:
Variável |
Obrigatória? |
Descrição |
|---|---|---|
|
Sim |
Chave da API do DashScope utilizada pelo serviço Milvus para aceder ao DashScope da Alibaba Cloud. |
Criar uma função de classificação do DashScope
Para utilizar o DashScope Ranker, crie um objeto Function que especifique o modelo de reclassificação do DashScope e o texto da consulta. Utilize provider: "ali" para a reclassificação do DashScope.
from pymilvus import Function, FunctionType
dashscope_ranker = Function(
name="dashscope_semantic_ranker",
input_field_names=["document"],
function_type=FunctionType.RERANK,
params={
"reranker": "model",
"provider": "ali",
"model_name": "gte-rerank-v2",
"queries": ["renewable energy developments"],
"max_client_batch_size": 128,
"credential": "dashscope_apikey",
},
)
Parâmetros específicos do classificador DashScope
Parâmetro |
Obrigatório? |
Descrição |
Valor / Exemplo |
|---|---|---|---|
|
Sim |
Deve ser definido como « |
|
|
Sim |
O fornecedor de serviços de modelo a utilizar para a reclassificação. Para o DashScope, utilize |
|
|
Sim |
O modelo de reclassificação do DashScope a utilizar. |
|
|
Sim |
Lista de cadeias de consulta utilizadas pelo modelo de reclassificação para calcular as pontuações de relevância. O número de cadeias de consulta deve corresponder ao número de consultas na solicitação de pesquisa. |
|
|
Não |
Número máximo de documentos a enviar para o serviço do modelo por pedido. |
|
|
Não |
O rótulo de uma credencial definida na secção de nível superior « |
|
Para parâmetros gerais partilhados por todos os classificadores de modelos, tais como provider e queries, consulte Criar um classificador de modelos.
Aplicar à pesquisa vetorial padrão
Para aplicar o DashScope Ranker a uma pesquisa vetorial padrão, passe a função do classificador para search().
results = client.search(
collection_name="your_collection",
data=[your_query_vector],
anns_field="dense_vector",
limit=5,
output_fields=["document"],
ranker=dashscope_ranker,
consistency_level="Bounded",
)