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 |
|---|---|---|
|
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 |
|---|---|---|---|
|
Ja |
Muss auf „ |
|
|
Ja |
Der für die Neubewertung zu verwendende Modelldienstanbieter. Verwenden Sie für DashScope „ |
|
|
Ja |
Das zu verwendende DashScope-Modell für die Neubewertung. |
|
|
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. |
|
|
Nein |
Maximale Anzahl an Dokumenten, die pro Anfrage an den Modelldienst gesendet werden sollen. |
|
|
Nein |
Die Bezeichnung einer Anmeldeinformation, die im obersten Abschnitt „ |
|
Informationen zu allgemeinen Parametern, die für alle Modell-Ranker gelten, wie z. B. „ provider “ und „ queries “, finden Sie unter „Modell-Ranker erstellen“.
Anwendung auf die Standard-Vektorsuche
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",
)