DashScope RankerCompatible with Milvus 2.6.x
DashScope Ranker consente a Milvus di richiamare i modelli di riclassificazione di Alibaba Cloud DashScope per riordinare i risultati di ricerca in base alla rilevanza semantica.
Prerequisiti
Prima di utilizzare DashScope Ranker, assicurati di disporre di:
Una collezione Milvus con un campo "
VARCHAR" contenente il testo da riordinare.Una chiave API DashScope valida.
Accesso a un modello di riclassificazione DashScope, come
gte-rerank-v2.
Per i modelli di riclassificazione disponibili e gli endpoint regionali, consultare l’API Text Rerank di Alibaba Cloud Model Studio.
Configurazione delle credenziali
Milvus deve conoscere la chiave API di DashScope prima di poter richiedere il riclassamento a DashScope. È possibile configurare la chiave API in milvus.yaml o tramite una variabile d’ambiente.
Opzione 1: file di configurazione
Salvare la chiave API in milvus.yaml e indirizzare il provider di riclassificazione DashScope all’etichetta delle credenziali.
# 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
Opzione 2: Variabile d’ambiente
Se in milvus.yaml non è configurata alcuna credenziale corrispondente, Milvus può leggere la chiave API di DashScope dalla seguente variabile d'ambiente:
Variabile |
Obbligatoria? |
Descrizione |
|---|---|---|
|
Sì |
Chiave API DashScope utilizzata dal servizio Milvus per richiamare Alibaba Cloud DashScope. |
Creare una funzione di classificazione DashScope
Per utilizzare il DashScope Ranker, creare un oggetto Function che specifichi il modello di riclassificazione DashScope e il testo della query. Utilizzare provider: "ali" per la riclassificazione 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",
},
)
Parametri specifici del ranker DashScope
Parametro |
Obbligatorio? |
Descrizione |
Valore / Esempio |
|---|---|---|---|
|
Sì |
Deve essere impostato su |
|
|
Sì |
Il provider di servizi del modello da utilizzare per il riclassamento. Per DashScope, utilizzare |
|
|
Sì |
Il modello di riclassificazione di DashScope da utilizzare. |
|
|
Sì |
Elenco delle stringhe di query utilizzate dal modello di riclassificazione per calcolare i punteggi di rilevanza. Il numero di stringhe di query deve corrispondere al numero di query presenti nella richiesta di ricerca. |
|
|
No |
Numero massimo di documenti da inviare al servizio del modello per ogni richiesta. |
|
|
No |
L'etichetta di una credenziale definita nella sezione di primo livello |
|
Per i parametri generali condivisi da tutti i model ranker, come provider e queries, fare riferimento a Creare un model ranker.
Applicazione alla ricerca vettoriale standard
Per applicare DashScope Ranker a una ricerca vettoriale standard, passare la funzione del classificatore 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",
)