DashScope RankerCompatible with Milvus 2.6.x
Le DashScope Ranker permet à Milvus d'appeler les modèles de reclassement DashScope d'Alibaba Cloud afin de réorganiser les résultats de recherche en fonction de leur pertinence sémantique.
Prérequis
Avant d’utiliser le DashScope Ranker, assurez-vous de disposer des éléments suivants :
Une collection Milvus comportant un champ «
VARCHAR» contenant le texte à reclasser.Une clé API DashScope valide.
L'accès à un modèle de reclassement DashScope, tel que «
gte-rerank-v2».
Pour connaître les modèles de reclassement disponibles et les points de terminaison régionaux, consultez l’API de reclassement de texte d’Alibaba Cloud Model Studio.
Configurer les identifiants
Milvus doit connaître votre clé API DashScope avant de pouvoir demander un reclassement à DashScope. 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 pointez le fournisseur de reclassement DashScope vers le libellé des informations d’authentification.
# 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
Option 2 : Variable d’environnement
Si aucun identifiant correspondant n’est configuré dans ` milvus.yaml`, Milvus peut lire la clé API DashScope à partir de la variable d’environnement suivante :
Variable |
Obligatoire ? |
Description |
|---|---|---|
|
Oui |
Clé API DashScope utilisée par le service Milvus pour appeler Alibaba Cloud DashScope. |
Créer une fonction de classement DashScope
Pour utiliser le classificateur DashScope, créez un objet Function qui spécifie le modèle de reclassement DashScope et le texte de la requête. Utilisez provider: "ali" pour le reclassement 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",
},
)
Paramètres spécifiques au classement DashScope
Paramètre |
Obligatoire ? |
Description |
Valeur / Exemple |
|---|---|---|---|
|
Oui |
Doit être défini sur « |
|
|
Oui |
Fournisseur de services de modèle à utiliser pour le reclassement. Pour DashScope, utilisez |
|
|
Oui |
Modèle de reclassement DashScope à utiliser. |
|
|
Oui |
Liste des chaînes de requête utilisées par le modèle de reclassement pour calculer les scores de pertinence. Le nombre de chaînes de requête doit correspondre au nombre de requêtes contenues dans la demande de recherche. |
|
|
Non |
Nombre maximal de documents à envoyer au service du modèle par requête. |
|
|
Non |
L'étiquette d'un identifiant défini dans la section de niveau supérieur |
|
Pour les paramètres généraux communs à tous les classements de modèles, tels que provider et queries, reportez-vous à la section Créer un classement de modèles.
Application à une recherche vectorielle standard
Pour appliquer DashScope Ranker à une recherche vectorielle standard, transmettez la fonction de classement à 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",
)