L1Distance
L1 공간(1-노름, taxicab geometry 거리)에서 계산합니다.
구문
distanceL1
인수
반환 값
1-노름 거리를 반환합니다. Array 입력의 경우, 요소 타입의 최소 공통 상위 타입이 Float32 또는 BFloat16이면 Float32를 반환하고, 그렇지 않으면 Float64를 반환합니다. Tuple 입력의 경우 반환 타입은 요소별 연산의 산술 결과 타입을 따릅니다(정수 타입은 유지됨). (U)Int* 또는 Float*
예시
기본 사용법
Query
Response
L1Norm
normL1
인수
반환 값
L1 노름 또는 taxicab geometry 거리를 반환합니다. UInt* 또는 Float* 또는 Decimal
예시
기본 사용법
Query
Response
L1Normalize
L1 공간(taxicab geometry)에서 계산합니다. 튜플의 요소는 좌표입니다.
구문
normalizeL1
인수
tuple— 숫자 값으로 구성된 튜플입니다.Tuple(T)
Tuple(Float64)
예시
기본 사용법
Query
Response
L2Distance
distanceL2
인수
반환 값
2-노름 거리를 반환합니다. Array 입력에서는 요소 타입의 최소 공통 상위 타입이 Float32 또는 BFloat16이면 Float32를 반환하고, 그렇지 않으면 Float64를 반환합니다. Tuple 입력에서는 항상 Float64를 반환합니다. Float*
예시
기본 사용법
Query
Response
L2DistanceTransposed
distanceL2Transposed
인수
vectors— 벡터.QBit(T, UInt64[, UInt64])reference— 기준 벡터.Array(T)p— 거리 계산에 사용할 각 벡터 요소의 비트 수(1부터 요소의 비트 폭까지)입니다. 양자화 수준은 정밀도와 속도 사이의 균형을 결정합니다. 더 적은 비트를 사용하면 정확도는 낮아지지만 I/O 및 계산 속도는 빨라지고, 더 많은 비트를 사용하면 성능 저하를 감수하는 대신 정확도는 높아집니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 위해 읽을 선행 차원의 수입니다. QBit stride의 배수여야 하고 차원을 초과할 수 없으며, 기준 벡터에는 최소한 이 개수만큼의 요소가 있어야 합니다(뒤에 추가로 있는 요소는 무시됩니다). 이 차원들을 포함하는 stride 그룹만 읽습니다.UInt
Float64입니다. Float64
예시
기본 사용법
Query
Response
L2DistanceTransposedQuantized
quantizeBFloat16ToInt8 코드의 QBit(Int8)(실행 중 즉시 역양자화됨)와 기준 벡터 사이의 근사 유클리드 거리를 계산합니다. Float 기준(쿼리) 벡터는 역양자화된 코드의 복원 정밀도인 Float32 정밀도에서 직접 비교되므로, Float64 쿼리는 Float32로 축소되고 BFloat16 쿼리는 여기에 정확히 맞춰 확장됩니다(비대칭 거리 계산). Array(Int8) 기준은 그 자체로 quantizeBFloat16ToInt8 코드로 간주되며 해당 복원 수준으로 역양자화됩니다. p는 저장된 QBit 코드에만 절단을 적용합니다. Array(Int8) 기준은 완전한 쿼리이므로 항상 전체 8비트 정밀도로 재구성되며, 따라서 이는 p = 8일 때만 대칭적인 양자화 대 양자화 거리입니다(p < 8에서는 저장된 쪽만 더 낮은 정밀도로 읽음). 이는 양자화 이전 값이 존재하던 동일한 공간(즉, 동일한 무작위 회전 및 스케일링 이후)에 있어야 하며, 이는 호출자의 책임입니다. 코사인 거리는 스케일 불변이지만, 내적과 L2 거리는 그렇지 않습니다.
구문
vectors—quantizeBFloat16ToInt8코드의 벡터.QBit(Int8, UInt64[, UInt64])reference— 기준(쿼리) 벡터:Float배열(쿼리이며Float32정밀도로 비교됨 —Float64쿼리는Float32로 축소됨) 또는quantizeBFloat16ToInt8코드의Array(Int8)로, 사용 시 즉석에서 역양자화됩니다.Array(Float32)또는Array(Int8)p— 사용할 저장된QBit코드의 상위 비트 수(1~8)입니다. 더 적은 비트를 사용하면 더 거친 내장 양자화기가 복원되어 I/O는 빨라지지만 정확도는 낮아집니다. 8비트는 전체 정밀도 복원입니다.p는 저장된QBit에만 절단을 적용하며,Array(Int8)기준 벡터는 항상 전체 8비트 정밀도로 복원됩니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 위해 읽을 선행 차원의 수입니다. QBit stride의 배수여야 하고 차원을 초과할 수 없으며, 기준 벡터에는 최소한 이 개수만큼의 원소가 있어야 합니다(추가로 뒤에 있는 원소는 무시됨). 이 차원들을 포함하는 stride 그룹만 읽습니다.UInt
Float64입니다. Float64
예시
기본 사용법
Query
L2Norm
normL2
인수
반환 값
L2 노름 또는 유클리드 거리를 반환합니다. UInt* 또는 Float*
예시
기본 사용법
Query
Response
L2Normalize
normalizeL2
인수
tuple— 숫자 값으로 구성된 튜플입니다.Tuple(T)
Tuple(Float64)
예시
기본 사용법
Query
Response
L2SquaredDistance
distanceL2Squared
인수
반환 값
두 벡터에서 대응하는 요소끼리의 차이를 제곱한 뒤 모두 더한 값을 반환합니다. Array 입력의 경우, 요소 타입의 최소 공통 상위 타입(least common supertype)이 Float32 또는 BFloat16이면 Float32를 반환하고, 그렇지 않으면 Float64를 반환합니다. Tuple 입력의 경우, 반환 타입은 요소별 연산의 산술 결과 타입을 따릅니다(정수 타입은 유지됨). (U)Int* 또는 Float*
예시
기본 사용법
Query
Response
L2SquaredNorm
L2Norm을 다시 제곱한 값을 계산합니다.
구문
normL2Squared
인수
반환 값
L2 노름의 제곱을 반환합니다. UInt* 또는 Float* 또는 Decimal
예시
기본 사용법
Query
Response
LinfDistance
L_{inf} 공간에서 두 점 사이의 거리(벡터의 원소가 좌표임)를 계산합니다(최대 노름).
구문
distanceLinf
인수
반환 값
무한 노름 거리를 반환합니다. Array 입력의 경우, 요소 타입의 최소 공통 상위 타입이 Float32 또는 BFloat16이면 Float32를, 그렇지 않으면 Float64를 반환합니다. Tuple 입력의 경우 항상 Float64를 반환합니다. Float*
예시
기본 사용법
Query
Response
LinfNorm
normLinf
인수
반환 값
Linf 노름 또는 절댓값의 최댓값을 반환합니다. Float64
예시
기본 사용법
Query
Response
LinfNormalize
L_{inf} 공간에서 최대 노름을 사용합니다.
구문
normalizeLinf
인수
tuple— 숫자형 값으로 이루어진 튜플입니다.Tuple(T)
Tuple(Float64)
예시
기본 사용법
Query
Response
LpDistance
Lp 공간에서 두 점 사이의 거리(벡터의 원소가 좌표임)를 계산합니다(p-norm distance).
구문
distanceLp
인수
vector1— 첫 번째 벡터입니다.Tuple(T)또는Array(T)vector2— 두 번째 벡터입니다.Tuple(T)또는Array(T)p— 거듭제곱 값입니다. 가능한 값:[1; inf)범위의 실수입니다.UInt*또는Float*
Array 입력의 경우 요소 타입의 최소 공통 상위 타입(least common supertype)이 Float32 또는 BFloat16이면 Float32를 반환하고, 그렇지 않으면 Float64를 반환합니다. Tuple 입력의 경우 항상 Float64를 반환합니다. Float*
예시
기본 사용법
Query
Response
LpNorm
- p=1이면 L1Norm(맨해튼 거리)와 동일합니다.
- p=2이면 L2Norm(유클리드 거리)와 동일합니다.
- p=∞이면 LinfNorm(최대 노름)와 동일합니다.
normLp
인수
vector— 숫자 값으로 구성된 벡터 또는 튜플입니다.Tuple(T)또는Array(T)p— 거듭제곱 값입니다. 가능한 값은[1; inf)범위의 실수입니다.UInt*또는Float*
Float64
예시
기본 사용법
Query
Response
LpNormalize
Lp 공간에서 계산합니다(튜플의 각 요소는 좌표를 의미하며, p-노름을 사용합니다).
구문
normalizeLp
인수
반환 값
단위 벡터를 반환합니다. Tuple(Float64)
예시
사용 예시
Query
Response
cosineDistance
distanceCosine
인수
반환 값
코사인 거리(코사인 유사도에서 1을 뺀 값)를 반환합니다. Array 입력의 경우, 요소 타입의 최소 공통 상위 타입이 Float32 또는 BFloat16이면 Float32를 반환하고, 그렇지 않으면 Float64를 반환합니다. Tuple 입력의 경우 항상 Float64를 반환합니다. Float*
예시
기본 사용법
Query
Response
cosineDistanceTransposed
distanceCosineTransposed
인수
vectors— 벡터.QBit(T, UInt64[, UInt64])reference— 기준 벡터.Array(T)p— 거리 계산에 사용할 각 벡터 요소의 비트 수(1부터 요소 비트 폭까지). 양자화 수준은 정밀도와 속도 간의 상충 관계를 제어합니다. 더 적은 비트를 사용하면 정확도는 낮아지지만 I/O 및 계산 속도는 빨라지고, 더 많은 비트를 사용하면 성능 저하를 감수하는 대신 정확도가 높아집니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 수행하기 위해 읽을 선행 차원의 수입니다. QBit stride의 배수이면서 해당 차원을 초과하지 않아야 하며, 기준 벡터는 최소한 이 개수만큼의 원소를 가져야 합니다(추가로 뒤에 있는 원소는 무시됩니다). 이러한 차원을 포함하는 stride 그룹만 읽습니다.UInt
Float64
예시
기본 사용법
Query
Response
cosineDistanceTransposedQuantized
quantizeBFloat16ToInt8 코드의 QBit(Int8)(실행 중 필요할 때 즉시 역양자화됨)와 기준 벡터 사이의 근사 코사인 거리를 계산합니다. 반환 값이 작을수록 벡터는 더 유사합니다. Float 참조(쿼리) 벡터는 역양자화된 코드의 복원 정밀도인 Float32 정밀도에서 직접 비교됩니다. 따라서 Float64 쿼리는 Float32로 축소되고, BFloat16 쿼리는 정확히 Float32로 확장됩니다(비대칭 거리 계산). Array(Int8) 참조는 그 자체로 quantizeBFloat16ToInt8 코드로 간주되며, 해당 복원 수준으로 역양자화됩니다. p는 저장된 QBit 코드에만 적용되어 잘린다는 점에 유의하십시오. Array(Int8) 참조는 완전한 쿼리이므로 항상 전체 8비트 정밀도로 복원됩니다. 따라서 이는 p = 8일 때만 대칭적인 양자화 대 양자화 거리이며(p < 8이면 저장된 쪽만 더 거친 정밀도로 읽힘), 값은 양자화 전과 동일한 공간(즉, 동일한 무작위 회전과 스케일링 이후의 공간)에 있어야 합니다. 이는 호출자가 보장해야 합니다. 코사인 거리는 스케일 불변이지만, 점곱과 L2 거리는 그렇지 않습니다.
구문
vectors—quantizeBFloat16ToInt8코드로 이루어진 벡터입니다.QBit(Int8, UInt64[, UInt64])reference— 기준(쿼리) 벡터입니다.Float배열(Float32정밀도로 비교되는 쿼리이며Float64쿼리는Float32로 축소됨) 또는 실행 중 즉시 역양자화되는quantizeBFloat16ToInt8코드의Array(Int8)입니다.Array(Float32)또는Array(Int8)p— 저장된 각QBit코드에서 사용할 상위 비트 수입니다(1~8). 비트 수가 적을수록 더 거친 양자화 표현으로 재구성되므로 I/O는 빨라지지만 정확도는 낮아집니다. 8비트는 전체 정밀도 재구성입니다.p는 저장된QBit에만 적용되며,Array(Int8)기준 벡터는 항상 전체 8비트 정밀도로 재구성됩니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 수행하기 위해 읽을 선행 차원 수입니다. QBit stride의 배수여야 하고 차원을 초과할 수 없으며, 기준 벡터에는 최소한 이 개수만큼의 원소가 있어야 합니다(추가로 뒤에 있는 원소는 무시됩니다). 이러한 차원을 포함하는 stride 그룹만 읽습니다.UInt
Float64입니다. Float64
예시
기본 사용법
Query
dotProductTransposed
scalarProductTransposed
인수
vectors— 벡터.QBit(T, UInt64[, UInt64])reference— 기준 벡터.Array(T)p— 계산에 사용할 각 벡터 요소의 비트 수(1부터 요소 비트 폭까지). 양자화 수준은 정밀도와 속도 간의 상충 관계를 제어합니다. 더 적은 비트를 사용하면 정확도는 낮아지지만 I/O 및 계산 속도는 빨라지고, 더 많은 비트를 사용하면 성능 저하를 감수하는 대신 정확도가 높아집니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 위해 읽을 선행 차원의 수입니다. QBit stride의 배수여야 하고 차원을 초과해서는 안 되며, 기준 벡터는 최소한 이 수만큼의 요소를 가져야 합니다(추가로 뒤에 오는 요소는 무시됩니다). 이 차원들을 포함하는 stride 그룹만 읽습니다.UInt
Float64입니다. Float64
예시
기본 사용법
Query
Response
dotProductTransposedQuantized
quantizeBFloat16ToInt8 코드의 QBit(Int8)와 기준 벡터 사이의 근사 점곱(내적)을 계산합니다(역양자화는 필요한 시점에 수행됨). 이것은 유사도 척도이므로 반환 값이 클수록 벡터는 더 유사합니다. Float 기준(쿼리) 벡터는 역양자화된 코드의 복원 정밀도인 Float32 정밀도에서 직접 비교되므로 Float64 쿼리는 Float32로 축소되고 BFloat16 쿼리는 정확히 Float32로 확장됩니다(비대칭 거리 계산). Array(Int8) 기준은 그 자체로 quantizeBFloat16ToInt8 코드로 처리되며 해당 복원 수준으로 역양자화됩니다. p는 저장된 QBit 코드만 잘라낸다는 점에 유의하십시오. Array(Int8) 기준은 완전한 쿼리이며 항상 전체 8비트 정밀도로 복원되므로, 이것이 대칭적인 양자화 대 양자화 거리 계산이 되는 경우는 p = 8일 때뿐입니다(p < 8에서는 저장된 쪽만 더 거친 정밀도로 읽음). 이는 값이 양자화되기 전과 동일한 공간(즉, 동일한 무작위 회전과 스케일링 이후)에 있어야 하며, 이는 호출자의 책임입니다. 코사인 거리는 스케일 불변이지만 점곱과 L2 거리는 그렇지 않습니다.
구문
vectors—quantizeBFloat16ToInt8코드의 벡터.QBit(Int8, UInt64[, UInt64])reference— 기준(쿼리) 벡터:Float배열(Float32정밀도로 비교되는 쿼리이며Float64쿼리는Float32로 축소됨) 또는 필요 시 역양자화되는quantizeBFloat16ToInt8코드의Array(Int8)입니다.Array(Float32)또는Array(Int8)p— 사용할 저장된 각QBit코드의 상위 비트 수(1~8)입니다. 비트 수가 적을수록 정확도는 낮아지지만 더 빠른 I/O를 위해 더 거친 내장 양자화기를 재구성하며, 8비트는 전체 정밀도 재구성입니다.p는 저장된QBit만 잘라내며,Array(Int8)기준 벡터는 항상 전체 8비트 정밀도로 재구성됩니다.UIntused_dims— 선택 사항입니다. stride된QBit에서 축소 차원(Matryoshka) 검색을 위해 읽을 선행 차원의 수입니다. QBit stride의 배수여야 하고 차원을 초과해서는 안 되며, 기준 벡터는 최소한 이 수만큼의 원소를 가져야 합니다(추가 후행 원소는 무시됨). 이 차원들을 포함하는 stride 그룹만 읽습니다.UInt
Float64입니다. Float64
예시
기본 사용법
Query