DashScope RankerCompatible with Milvus 2.6.x

Mit dem DashScope Ranker kann Milvus die DashScope-Reranking-Modelle von Alibaba Cloud aufrufen, um Suchergebnisse nach semantischer Relevanz neu zu ordnen.

Voraussetzungen

Bevor Sie den DashScope Ranker verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Eine Milvus-Sammlung mit einem Feld „ VARCHAR “, das den zu neu zuordnenden Text enthält.

  • Einen gültigen DashScope-API-Schlüssel.

  • Zugriff auf ein DashScope-Reranking-Modell, z. B. „ gte-rerank-v2 “.

Informationen zu verfügbaren Reranking-Modellen und regionalen Endpunkten finden Sie in der Alibaba Cloud Model Studio Text Rerank API.

Anmeldedaten konfigurieren

Milvus muss Ihren DashScope-API-Schlüssel kennen, bevor es eine Neuordnung bei DashScope anfordern kann. Sie können den API-Schlüssel in milvus.yaml oder über eine Umgebungsvariable konfigurieren.

Option 1: Konfigurationsdatei

Speichern Sie Ihren API-Schlüssel unter milvus.yaml und verweisen Sie den DashScope-Rerank-Anbieter auf das Anmeldeinformationen-Label.

# 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: Umgebungsvariable

Wenn in der Datei „ milvus.yaml “ keine passenden Anmeldedaten konfiguriert sind, kann Milvus den DashScope-API-Schlüssel aus der folgenden Umgebungsvariablen auslesen:

Variable

Erforderlich?

Beschreibung

MILVUS_DASHSCOPE_API_KEY

Ja

DashScope-API-Schlüssel, der vom Milvus-Dienst zum Aufruf von Alibaba Cloud DashScope verwendet wird.

Erstellen Sie eine DashScope-Ranking-Funktion

Um den DashScope-Ranker zu verwenden, erstellen Sie ein Function-Objekt, das das DashScope-Reranking-Modell und den Suchtext angibt. Verwenden Sie „ provider: "ali" “ für das DashScope-Reranking.

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

DashScope-Ranker-spezifische Parameter

Parameter

Erforderlich?

Beschreibung

Wert / Beispiel

reranker

Ja

Muss auf „ "model" “ gesetzt werden, um die Neureihung des Modells zu aktivieren.

"model"

provider

Ja

Der für die Neubewertung zu verwendende Modelldienstanbieter. Verwenden Sie für DashScope „ "ali" “.

"ali"

model_name

Ja

Das zu verwendende DashScope-Modell für die Neubewertung.

"gte-rerank-v2"

queries

Ja

Liste der Suchbegriffe, die vom Reranking-Modell zur Berechnung der Relevanzwerte verwendet werden. Die Anzahl der Suchbegriffe muss mit der Anzahl der Suchanfragen in der Suchanforderung übereinstimmen.

["renewable energy developments"]

max_client_batch_size

Nein

Maximale Anzahl an Dokumenten, die pro Anfrage an den Modelldienst gesendet werden sollen.

128 (Standard)

credential

Nein

Die Bezeichnung einer Anmeldeinformation, die im obersten Abschnitt „ credential: “ unter milvus.yaml definiert ist.

"dashscope_apikey"

Informationen zu allgemeinen Parametern, die für alle Modell-Ranker gelten, wie z. B. „ provider “ und „ queries “, finden Sie unter „Modell-Ranker erstellen“.

Um den DashScope Ranker auf eine Standard-Vektorsuche anzuwenden, übergeben Sie die Ranker-Funktion an „ 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",
)