VectorDistance(NoSQL 쿼리)
적용 대상: NoSQL
지정된 두 벡터 간의 유사성 점수를 반환합니다.
구문
VectorDistance(<vector_expr_1>, <vector_expr_2>, <bool_expr>, <obj_expr>)
인수
매개 변수 | 설명 |
---|---|
vector_expr_1 |
float32 이하의 배열입니다. |
vector_expr_2 |
float32 이하의 배열입니다. |
bool_expr |
ORDER BY 식에서 계산 값을 사용하는 방법을 지정하는 선택적 부울입니다. true 이면 무차별 대입이 사용됩니다. 값 false 은 벡터 속성에 정의된 인덱스(있는 경우)를 사용합니다. 기본값은 false 여야 합니다. |
obj_expr |
벡터 거리 계산에 대한 옵션을 지정하는 데 사용되는 선택적 JSON 형식 개체 리터럴입니다. 유효한 항목에는 포함 distanceFunction 및 dataType , 및 searchListSizeMultiplier . |
선택적 매개 변수에 대해 지원되는 매개 변수 obj_expr
매개 변수 | 설명 |
---|---|
distanceFunction |
거리/유사성을 계산하는 데 사용되는 메트릭입니다. |
dataType |
벡터의 데이터 형식입니다. float32 uint8 , int8 값입니다. 기본값은 float32 여야 합니다. |
searchListSizeMultiplier |
벡터 검색을 수행할 때 검색 목록의 크기를 지정하는 정수입니다. 이를 늘리면 RU 비용 및 대기 시간을 희생하여 정확도가 향상될 수 있습니다. Min=1, Default=5, Max=100. |
지원되는 메트릭은 다음과 같습니다.distanceFunction
cosine
- (가장 유사하지 않은) 값-1
이 가장 유사합니다+1
.dotproduct
()에서-∞
()와 (-inf
가장 유사하지 않은) 값을 가집니다+∞
+inf
.euclidean
- (가장 유사)에서0
(+inf
최소 유사) 값이+∞
있습니다.
반환 형식
두 식 간의 유사성 점수를 열거하는 숫자 식을 반환합니다.
예제
이 첫 번째 예제에서는 필수 인수만 있는 상위 10개 벡터 검색 쿼리를 보여줍니다. 에서 반환한 점수와 함께 하나의 속성이 프로젝션됩니다 VectorDistance
. 그런 다음, 가장 유사한 것부터 최소까지 순서대로 점수를 정렬 VectorDistance
하는 절을 사용자 ORDER BY
지정합니다.
SELECT TOP 10 s.name, VectorDistance(c.vector1, <query_vector>)
FROM c
ORDER BY VectorDistance(c.vector1, <query_vector>)
다음 예제에는 에 대한 선택적 인수도 포함됩니다. VectorDistance
SELECT TOP 10 s.name, VectorDistance(c.vector1, <query_vector>, true, {'distanceFunction':'cosine', 'dataType':'float32'})
FROM c
ORDER BY VectorDistance(c.vector1, <query_vector>, true, {'distanceFunction':'cosine', 'dataType':'float32'})
Important
항상 쿼리 문에 SELECT
절을 사용합니다TOP N
. 그렇지 않으면 벡터 검색이 더 많은 결과를 반환하려고 시도하고 쿼리에 더 많은 RU 비용이 들고 필요한 것보다 대기 시간이 더 깁니다.
설명
- 이 함수를 사용하려면 Azure Cosmos DB NoSQL Vector Search 기능을 사용하도록 설정해야 합니다.
- 이 함수는 벡터 인덱스의 이점을 활용함
- 선택 사항
bool_expr
으로 지정된 경우false
경로에 정의된 벡터 인덱스가 사용됩니다(있는 경우). 벡터 경로에 인덱스가 정의되어 있지 않으면 이 함수는 전체 검색으로 되돌아가고 벡터 인덱스를 사용하는 경우보다 더 높은 RU 요금과 더 높은 대기 시간이 발생합니다. - 절에서
ORDER BY
사용되는 경우VectorDistance
항상 사용된 유사성 메트릭에ORDER BY
따라 가장 유사한(첫 번째)와 가장 유사한(마지막)의 순서로 결과가 정렬되므로 방향을 지정할 필요가 없습니다. - 결과는 유사성 점수로 표시됩니다.