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.
Die RRF Funktion gibt einen fused Score zurück, indem zwei oder mehr Von anderen Funktionen bereitgestellte Bewertungen kombiniert werden.
Syntax
RRF(<function1>, <function2>, ..., <weights>)
Arguments
| Description | |
|---|---|
function1 |
Eine Bewertungsfunktion wie VectorDistance oder FullTextScore. |
function2 |
Eine Bewertungsfunktion wie VectorDistance oder FullTextScore. |
weights |
Ein Array von Zahlen, die eine Wichtigkeitsgewichtung für jede Bewertungsfunktion definieren. |
Rückgabetypen
Gibt einen numerischen Wert zurück, der die fused Score darstellt.
Examples
Dieser Abschnitt enthält Beispiele für die Verwendung dieses Abfragesprachenkonstrukts.
Hybridsuche (Vektorähnlichkeit + BM25)
In diesem Beispiel kombiniert die Hybridsuche FullTextScore und VectorDistance.
SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]))
[
{
"id": "doc-042",
"text": "The keyword appears frequently in this document about distributed systems.",
"vector": [0.12, 0.87, 0.34]
},
{
"id": "doc-119",
"text": "Another relevant document mentioning the keyword in context.",
"vector": [0.45, 0.22, 0.91]
}
]
Gewichtete Hybridsuche
In diesem Beispiel verwendet die Hybridsuche Gewichtungen für die Bewertungsfunktionen.
SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]), [2,1])
[
{
"id": "doc-007",
"text": "This document contains the keyword and is semantically close to the query vector.",
"vector": [0.98, 0.11, 0.23]
},
{
"id": "doc-355",
"text": "A document with strong keyword relevance boosted by the higher weight.",
"vector": [0.67, 0.44, 0.18]
}
]
Fusion mit zwei FullTextScore-Funktionen
In diesem Beispiel werden zwei FullTextScore-Funktionen miteinander verschmolzen.
SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword1"), FullTextScore(c.text, "keyword2"))
[
{
"id": "doc-201",
"text": "This article discusses both keyword1 and keyword2 in the context of data engineering."
},
{
"id": "doc-088",
"text": "A comprehensive overview that mentions keyword1 and covers keyword2 in detail."
}
]
Fusion mit zwei VectorDistance-Funktionen
In diesem Beispiel werden zwei VectorDistance-Funktionen miteinander verschmolzen.
SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]), VectorDistance(c.vector2, [2,2,4]))
[
{
"id": "doc-014",
"vector1": [0.12, 0.87, 0.34],
"vector2": [0.56, 0.78, 0.90]
},
{
"id": "doc-092",
"vector1": [0.45, 0.22, 0.91],
"vector2": [0.33, 0.67, 0.45]
}
]
Bemerkungen
- Für diese Funktion ist die Registrierung im Azure Cosmos DB NoSQL Full Text Search-Feature erforderlich.
- Für die Hybridsuche ist auch die Registrierung in der Azure Cosmos DB NoSQL-Vektorsuche erforderlich.
- Für diese Funktion ist ein Volltextindex erforderlich.
- Diese Funktion kann nur in einer
ORDER BY RANKKlausel verwendet werden und kann nicht mitORDER BYanderen Eigenschaftspfaden kombiniert werden. - Diese Funktion kann nicht Teil einer Projektion sein (z
SELECT FullTextScore(c.text, "keyword") AS Score FROM c. B. ist ungültig).