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

MILVUS_DASHSCOPE_API_KEY

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

reranker

Sì

Deve essere impostato su "model" per abilitare il riclassamento del modello.

"model"

provider

Sì

Il provider di servizi del modello da utilizzare per il riclassamento. Per DashScope, utilizzare "ali".

"ali"

model_name

Sì

Il modello di riclassificazione di DashScope da utilizzare.

"gte-rerank-v2"

queries

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.

["renewable energy developments"]

max_client_batch_size

No

Numero massimo di documenti da inviare al servizio del modello per ogni richiesta.

128 (impostazione predefinita)

credential

No

L'etichetta di una credenziale definita nella sezione di primo livello credential: di milvus.yaml.

"dashscope_apikey"

Per i parametri generali condivisi da tutti i model ranker, come provider e queries, fare riferimento a Creare un model ranker.

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",
)