다음을 통해 공유


RRF - Cosmos DB의 쿼리 언어(Azure 및 패브릭)

이 함수는 RRF 다른 함수에서 제공하는 둘 이상의 점수를 결합하여 융합 점수를 반환합니다.

구문

RRF(<function1>, <function2>, ..., <weights>)

Arguments

Description
function1 VectorDistance 또는 FullTextScore와 같은 점수 매기기 함수입니다.
function2 VectorDistance 또는 FullTextScore와 같은 점수 매기기 함수입니다.
weights 각 점수 매기기 함수의 중요도 가중치를 정의하는 숫자 배열입니다.

반환 형식

융합 점수를 나타내는 숫자 값을 반환합니다.

예시

이 섹션에는 이 쿼리 언어 구문을 사용하는 방법에 대한 예제가 포함되어 있습니다.

하이브리드 검색(벡터 유사성 + BM25)

이 예제에서 하이브리드 검색은 FullTextScore와 VectorDistance를 결합합니다.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]))
-- Example result not available (see documentation)

이 예제에서 Hybrid Search는 점수 매기기 함수에 가중치를 사용합니다.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]), [2,1])
-- Example result not available (see documentation)

두 개의 FullTextScore 함수를 사용하는 Fusion

이 예제에서는 두 개의 FullTextScore 함수가 융합됩니다.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword1"), FullTextScore(c.text, "keyword2"))
-- Example result not available (see documentation)

두 개의 VectorDistance 함수를 사용하는 Fusion

이 예제에서는 두 개의 VectorDistance 함수가 융합됩니다.

SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]), VectorDistance(c.vector2, [2,2,4]))
-- Example result not available (see documentation)

비고

  • 이 함수를 사용하려면 Azure Cosmos DB NoSQL 전체 텍스트 검색 기능에 등록해야 합니다.
  • 하이브리드 검색을 사용하려면 Azure Cosmos DB NoSQL 벡터 검색에 등록해야 합니다.
  • 이 함수에는 전체 텍스트 인덱스가 필요합니다.
  • 이 함수는 절에서 ORDER BY RANK 만 사용할 수 있으며 다른 속성 경로와 ORDER BY 결합할 수 없습니다.
  • 이 함수는 프로젝션의 일부가 될 수 없습니다(예 SELECT FullTextScore(c.text, "keyword") AS Score FROM c : 유효하지 않음).