카테고리:

벡터 유사성 함수

VECTOR_L1_DISTANCE

벡터 사이의 L1 거리를 계산합니다.

택시 거리 또는 맨해튼 거리라고도 하는 L1 거리는 벡터 공간에서 두 점 사이의 거리를 측정한 값입니다. 거리는 벡터 요소의 차이의 절대값의 합을 구하여 계산합니다. 결과는 0 이상의 값입니다. 거리가 0이면 벡터는 동일합니다. 거리가 클수록 벡터 사이의 간격도 넓어집니다.

참고 항목:

VECTOR_INNER_PRODUCT , VECTOR_L2_DISTANCE , VECTOR_COSINE_SIMILARITY , 벡터 임베딩

구문

VECTOR_L1_DISTANCE( <vector>, <vector> )
Copy

인자

vector

거리 계산을 시작할 VECTOR 값입니다.

vector

거리 계산을 종료할 VECTOR 값입니다.

반환

두 입력 벡 터 사이의 L1 거리를 FLOAT 값으로 반환합니다.

사용법 노트

  • 벡터 비교 함수의 계산 최적화로 인해 부동소수점 오차가 평소보다 약간 더 클 수 있습니다(예: 약 1e-4).

이 예제는 VECTOR_L1_DISTANCE 함수를 사용하여 테이블에서 a 열과 b 열 사이에 가장 가까운 벡터를 결정합니다.

CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT [1.1,2.2,3]::VECTOR(FLOAT,3), [1,1,1]::VECTOR(FLOAT,3);
INSERT INTO vectors SELECT [1,2.2,3]::VECTOR(FLOAT,3), [4,6,8]::VECTOR(FLOAT,3);

SELECT VECTOR_L1_DISTANCE(a, b) FROM vectors;
Copy
+--------------+
| 3.300000191  |
|--------------|
| 11.800000191 |
+--------------+