Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.
Reciprocal Rank Fusion (RRF) ist ein Algorithmus, der Suchbewertungen aus mehreren zuvor gerankten Ergebnissen auswertet, um eine einzige, einheitliche Ergebnismenge zu erzeugen. In Azure KI-Suche wird RRF verwendet, wenn zwei oder mehr Abfragen parallel ausgeführt werden, z. B. Hybridabfragen und mehrere Vektorabfragen. Jede einzelne Abfrage erzeugt eine rangierte Ergebnismenge, und RRF führt diese Rangfolgen zusammen und vereinheitlicht sie zu einer einzigen Ergebnismenge für die Abfrageantwort.
RRF basiert auf dem Konzept der gegenseitigen Rangfolge, was die Umkehrung des Rangs des ersten relevanten Dokuments in einer Liste der Suchergebnisse darstellt. Ziel der Technik ist es, die Position der Elemente in den ursprünglichen Rangfolgen zu berücksichtigen und den Elementen, die in mehreren Listen höher eingestuft werden, höhere Bedeutung zu geben. Dieser Ansatz kann dazu beitragen, die Gesamtqualität und Zuverlässigkeit der endgültigen Rangfolge zu verbessern, sodass es für die Aufgabe, mehrere sortierte Suchergebnisse zu fusionieren, nützlicher ist.
Funktionsweise der RRF-Bewertung
RRF funktioniert, indem die Suchergebnisse aus mehreren Methoden verwendet werden, jedem Dokument in den Ergebnissen ein gegenseitiger Bewertungswert zugewiesen wird und dann die Bewertungen kombiniert werden, um eine neue Bewertung zu erstellen. Das Konzept besteht darin, dass Dokumente, die in den obersten Positionen in mehreren Suchmethoden angezeigt werden, wahrscheinlich relevanter sind und im kombinierten Ergebnis höher eingestuft werden sollten.
Hier ist eine einfache Erläuterung des RRF-Prozesses:
Abrufen von bewerteten Suchergebnissen aus mehreren parallel ausgeführten Abfragen.
Weisen Sie reziproke Rangbewertungen für Ergebnisse in jeder Rangliste zu. RRF generiert für jede Übereinstimmung in jedem Resultset eine neue
@search.score. Für jedes Dokument in den Suchergebnissen weist das Modul basierend auf seiner Position in der Liste eine Kehrbewertung zu. Die Bewertung wird berechnet als1/(rank + k), wobeirankdie Position des Dokuments in der Liste undkeine Konstante ist. Experimente zeigen, dass der Algorithmus am besten funktioniert, wenn Sie auf einen kleinen Wert festlegenk, z. B. 60. DieserkWert ist eine Konstante im RRF-Algorithmus und vollständig getrennt von derkAnzahl der nächsten Nachbarn.Werte kombinieren. Für jedes Dokument summiert das Modul die von jedem Suchsystem erhaltenen gegenseitigen Bewertungsergebnisse und erzeugt für jedes Dokument eine kombinierte Bewertung.
Das Modul bewertet Dokumente basierend auf kombinierten Bewertungen und sortiert sie. Die resultierende Liste ist die Fused-Rangfolge.
Für die Bewertung werden nur Felder verwendet, die im Index als searchable oder in der Abfrage als searchFields markiert sind. Es werden nur Felder zurückgegeben, die in der Abfrage als retrievable markiert oder als select angegeben sind, zusammen mit ihrer Suchbewertung.
Ausführung paralleler Abfragen
RRF wird immer verwendet, wenn mehr als eine Abfrageausführung ausgeführt wird. Die folgenden Beispiele veranschaulichen Abfragemuster, bei denen die parallele Abfrageausführung auftritt:
- Eine Volltextabfrage plus eine Vektorabfrage (einfaches Hybridszenario) entspricht zwei Abfrageausführungen.
- Eine Volltextabfrage sowie eine Vektorabfrage, die auf zwei Vektorfelder ausgerichtet ist, entspricht drei Abfrageausführungen.
- Eine Volltextabfrage sowie zwei Vektorabfragen, die auf fünf Vektorfelder ausgerichtet sind, entsprechen 11 Abfrageausführungen.
Punktzahlen in Hybridsuchergebnissen
Wenn Ergebnisse bewertet werden, enthält die @search.score Eigenschaft den Wert, mit dem die Ergebnisse sortiert werden. Bewertungen werden durch Bewertungsalgorithmen generiert, die je nach Methode variieren. Jeder Algorithmus hat einen eigenen Bereich und eine eigene Größe.
In der folgenden Tabelle wird die Bewertungseigenschaft identifiziert, die für jede Übereinstimmung, jeden Algorithmus und den Bereich der Bewertungen für jeden Relevanzbewertungsalgorithmus zurückgegeben wird. Weitere Informationen und ein Diagramm des Bewertungsworkflows finden Sie unter Relevanz in Azure KI-Suche.
| Suchmethode | Parameter | Bewertungsalgorithmus | Range |
|---|---|---|---|
| Volltextsuche | @search.score |
BM25-Algorithmus | Keine Obergrenze. |
| vector search | @search.score |
HNSW-Algorithmus unter Verwendung der in der HNSW-Konfiguration angegebenen Ähnlichkeitsmetrik. | 0,333 - 1,00 (Kosinus), 0 bis 1 für Euklidan und DotProduct. |
| Hybridsuche | @search.score |
RRF-Algorithmus | Die obere Grenze ist an die Anzahl der Abfragen gebunden, die verbunden werden, wobei jede Abfrage maximal 1/k zum RRF-Score beiträgt (dies ist der k Parameter im RRF-Algorithmus, nicht die Vektorabfrage). Beispielsweise erzeugt das Zusammenführen von drei Abfragen höhere RRF-Ergebnisse als, wenn nur zwei Suchergebnisse zusammengeführt werden. |
| Semantische Rangfolge | @search.rerankerScore |
Semantische Rangfolge | 0,00 - 4,00 |
Die semantische Rangfolge erfolgt nach dem Zusammenführen von Ergebnissen durch RRF. Die Bewertung (@search.rerankerScore) wird immer separat in der Abfrageantwort gemeldet. Der semantische Sortierer kann Volltext- und Hybridsuchergebnisse neu ranken, vorausgesetzt, diese Ergebnisse enthalten Felder mit semantisch reichhaltigem Inhalt. Er kann reine Vektorabfragen neu ranken, wenn die Suchdokumente Textfelder mit semantisch relevanten Inhalten enthalten.
Entpacken einer Suchbewertung in Teilbewertungen
Sie können eine Suchergebnisbewertung zerlegen, um ihre Teilbewertungen anzuzeigen. Bei Vektorabfragen können Sie anhand dieser Informationen einen geeigneten Wert für die Vektorgewichtung oder das Festlegen von Mindestschwellenwerten ermitteln.
So erhalten Sie Teilbewertungen:
Verwenden Sie die REST-API für "Dokumente durchsuchen " oder ein Azure SDK-Paket, das das Feature bereitstellt.
Ändern Sie eine Abfrageanforderung, und fügen Sie einen neuen Parametersatz
debughinzu, der entweder aufvectorfestgelegt ist, aufsemantic, wenn Sie semantischen Sortierer verwenden, oder aufall.
Hier sehen Sie ein Beispiel für eine Hybridabfrage, die Teilbewertungen im Debugmodus zurückgibt:
POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version=2026-04-01
{
"vectorQueries": [
{
"vector": [
-0.009154141,
0.018708462,
. . .
-0.02178128,
-0.00086512347
],
"fields": "DescriptionVector",
"kind": "vector",
"exhaustive": true,
"k": 10
},
{
"vector": [
-0.009154141,
0.018708462,
. . .
-0.02178128,
-0.00086512347
],
"fields": "DescriptionVector",
"kind": "vector",
"exhaustive": true,
"k": 10
}
],
"search": "historic hotel walk to restaurants and shopping",
"select": "HotelName, Description, Address/City",
"debug": "vector",
"top": 10
}
Gewichtete Punkte
Sie können Vektorabfragen auch gewichten , um ihre Bedeutung in einer Hybridabfrage zu erhöhen oder zu verringern.
Denken Sie daran, dass beim Berechnen von RRF für ein bestimmtes Dokument die Suchmaschine den Rang dieses Dokuments für jedes Resultset untersucht, in dem es angezeigt wird. Gehen Sie davon aus, dass ein Dokument in drei separaten Suchergebnissen angezeigt wird, wobei die Ergebnisse aus zwei Vektorabfragen und einer BM25-bewerteten Textabfrage stammen. Die Position des Dokuments variiert je nach Ergebnis.
| Übereinstimmung gefunden | Position in Ergebnissen | @search.score | Gewichtsmultiplikator | @search.score (gewichtet) |
|---|---|---|---|---|
| Vektorergebnisse eins | Position 1 | 0.8383955 | 0.5 | 0.41919775 |
| Vektorergebnisse zwei | Position 5 | 0.81514114 | 2.0 | 1.63028228 |
| BM25-Ergebnisse | Position 10 | 0.8577363 | NA | 0.8577363 |
Die Position des Dokuments in jedem Resultset entspricht einer anfänglichen Bewertung, die zusammengezählt werden, um die endgültige RRF-Bewertung für dieses Dokument zu erstellen.
Wenn Sie eine Vektorgewichtung hinzufügen, werden die anfänglichen Bewertungen mit einem Gewichtungsmultiplikator versehen, der den Wert erhöht oder verringert. Der Standardwert ist 1,0, was bedeutet, dass keine Gewichtung erfolgt und die anfängliche Bewertung wie in der RRF-Bewertung verwendet wird. Wenn Sie jedoch eine Gewichtung von 0,5 hinzufügen, wird die Bewertung reduziert und das Ergebnis hat in der kombinierten Rangfolge eine geringere Wichtigkeit. Wenn Sie dagegen eine Gewichtung von 2,0 hinzufügen, wird die Bewertung zu einem größeren Faktor in der RRF-Gesamtbewertung.
In diesem Beispiel gehen die @search.score (gewichteten) Werte zum RRF-Bewertungsmodell.
Anzahl der bewerteten Ergebnisse in einer Hybridabfrageantwort
Wenn Sie die Paginierung nicht verwenden, gibt die Suchmaschine standardmäßig die 50 am höchsten bewerteten Übereinstimmungen für die Volltextsuche und die ähnlichsten k Übereinstimmungen für die Vektorsuche zurück. In einer Hybridabfrage bestimmt top die Anzahl der Ergebnisse in der Antwort. Basierend auf den Standardwerten werden die höchsten 50 Übereinstimmungen des einheitlichen Resultsets zurückgegeben.
Häufig findet die Suchmaschine mehr Ergebnisse als top und k. Um weitere Ergebnisse zurückzugeben, verwenden Sie die Paginierungsparameter top, skip und next. Das Paginieren bestimmt die Anzahl der Ergebnisse auf jeder logischen Seite und navigiert durch die vollständige Nutzlast. Sie können maxTextRecallSize auf größere Werte festlegen (der Standardwert ist 1.000), um mehr Ergebnisse von der Textseite der Hybridabfrage zurückzugeben.
Die Volltextsuche unterliegt standardmäßig einem Höchstwert von 1.000 Übereinstimmungen (siehe API-Antwortgrenzwerte). Sobald 1.000 Übereinstimmungen gefunden wurden, sucht die Suchmaschine nicht mehr weiter.
Weitere Informationen finden Sie unter Arbeiten mit Suchergebnissen.