DashScope RankerCompatible with Milvus 2.6.x
El DashScope Ranker permite a Milvus invocar los modelos de reordenación de DashScope de Alibaba Cloud para reordenar los resultados de búsqueda según su relevancia semántica.
Requisitos previos
Antes de utilizar el clasificador DashScope, asegúrate de que dispones de:
Una colección de Milvus con un campo «
VARCHAR» que contenga el texto que se va a reordenar.Una clave de API de DashScope válida.
Acceso a un modelo de reordenación de DashScope, como
gte-rerank-v2.
Para conocer los modelos de reordenación disponibles y los puntos de conexión regionales, consulta la API de reordenación de texto de Alibaba Cloud Model Studio.
Configurar las credenciales
Milvus debe conocer su clave de API de DashScope antes de poder solicitar la reclasificación a DashScope. 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 el proveedor de reordenación de DashScope a la etiqueta de credenciales.
# 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
Opción 2: Variable de entorno
Si no hay ninguna credencial coincidente configurada en milvus.yaml, Milvus puede leer la clave API de DashScope a partir de la siguiente variable de entorno:
Variable |
¿Es obligatoria? |
Descripción |
|---|---|---|
|
Sí |
Clave de la API de DashScope utilizada por el servicio Milvus para llamar a DashScope de Alibaba Cloud. |
Crear una función de clasificación de DashScope
Para utilizar el clasificador de DashScope, crea un objeto «Function» que especifique el modelo de reclasificación de DashScope y el texto de la consulta. Utiliza provider: "ali" para la reclasificación de 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 del clasificador de DashScope
Parámetro |
¿Es obligatorio? |
Descripción |
Valor / Ejemplo |
|---|---|---|---|
|
Sí |
Debe establecerse en « |
|
|
Sí |
El proveedor de servicios de modelos que se utilizará para la reclasificación. Para DashScope, utilice |
|
|
Sí |
El modelo de reordenación de DashScope que se va a utilizar. |
|
|
Sí |
Lista de cadenas de consulta utilizadas por el modelo de reordenación para calcular las puntuaciones de relevancia. El número de cadenas de consulta debe coincidir con el número de consultas de la solicitud de búsqueda. |
|
|
No |
Número máximo de documentos que se pueden enviar al servicio del modelo por solicitud. |
|
|
No |
La etiqueta de una credencial definida en la sección de nivel superior « |
|
Para los parámetros generales compartidos por todos los clasificadores de modelos, como provider y queries, consulta «Crear un clasificador de modelos».
Aplicación a la búsqueda vectorial estándar
Para aplicar DashScope Ranker a una búsqueda vectorial estándar, pasa la función del clasificador a 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",
)