L1Distance
L1 (norma 1 (distância da geometria do táxi)).
Sintaxe
distanceL1
Argumentos
Valor retornado
Retorna a distância L1. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, o tipo de retorno segue o tipo de resultado aritmético das operações elemento a elemento (os tipos inteiros são preservados). (U)Int* ou Float*
Exemplos
Uso básico
Query
Response
L1Norm
normL1
Argumentos
Valor retornado
Retorna a norma L1 ou a distância em geometria do táxi. UInt* ou Float* ou Decimal
Exemplos
Uso básico
Query
Response
L1Normalize
L1 (geometria do táxi).
Sintaxe
normalizeL1
Argumentos
tuple— Uma tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Exemplos
Uso básico
Query
Response
L2Distance
distanceL2
Argumentos
Valor retornado
Retorna a distância de norma 2. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float*
Exemplos
Uso básico
Query
Response
L2DistanceTransposed
distanceL2Transposed
Argumentos
vectors— Vetores.QBit(T, UInt64[, UInt64])reference— Vetor de referência.Array(T)p— Número de bits de cada elemento do vetor a ser usado no cálculo da distância (de 1 até a largura de bits do elemento). O nível de quantização controla o equilíbrio entre precisão e velocidade. Usar menos bits resulta em E/S e cálculos mais rápidos, com menor precisão, enquanto usar mais bits aumenta a precisão à custa do desempenho.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit que não exceda sua dimensão, e o vetor de referência deve ter pelo menos esse número de elementos (quaisquer elementos extras no final são ignorados). Apenas os grupos de stride que abrangem essas dimensões são lidos.UInt
Float64. Float64
Exemplos
Uso básico
Query
Response
L2DistanceTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (desquantizados em tempo de execução) e um vetor de referência. Um vetor de referência (consulta) Float é comparado diretamente com precisão Float32 — a precisão de reconstrução dos códigos desquantizados; assim, uma consulta Float64 é reduzida para Float32, enquanto uma consulta BFloat16 é ampliada para esse formato exatamente (cálculo de distância assimétrico); uma referência Array(Int8) é tratada como códigos quantizeBFloat16ToInt8 e desquantizada para seus níveis de reconstrução. Observe que p trunca apenas os códigos QBit armazenados; a referência Array(Int8) é, por si só, uma consulta completa e é sempre reconstruída com precisão total de 8 bits, portanto esta é uma distância simétrica entre quantizados apenas em p = 8 (para p < 8, apenas o lado armazenado é lido com precisão mais grosseira). Ela deve estar no mesmo espaço em que os valores estavam antes da quantização (isto é, após a mesma rotação aleatória e o mesmo escalonamento), o que é responsabilidade de quem chama. A distância de cosseno é invariante à escala; o produto escalar e a distância L2 não são.
Sintaxe
vectors— Vetores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vetor de referência (consulta): um array deFloat(a consulta, comparada com precisãoFloat32— uma consultaFloat64é convertida paraFloat32) ou umArray(Int8)de códigosquantizeBFloat16ToInt8desquantizados em tempo de execução.Array(Float32)ouArray(Int8)p— Número dos bits mais altos de cada códigoQBitarmazenado a serem usados (de 1 a 8). Menos bits reconstroem um quantizador embutido mais grosseiro para E/S mais rápida, com menor precisão; 8 bits correspondem à reconstrução com precisão total.ptrunca apenas oQBitarmazenado; uma referênciaArray(Int8)é sempre reconstruída com precisão total de 8 bits.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit que não exceda sua dimensão, e o vetor de referência deve ter pelo menos essa quantidade de elementos (quaisquer elementos extras no final são ignorados). Apenas os grupos de stride que abrangem essas dimensões são lidos.UInt
Float64. Float64
Exemplos
Uso básico
Query
L2Norm
normL2
Argumentos
Valor retornado
Retorna a norma L2, ou a distância euclidiana. UInt* ou Float*
Exemplos
Uso básico
Query
Response
L2Normalize
normalizeL2
Argumentos
tuple— Uma tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Exemplos
Uso básico
Query
Response
L2SquaredDistance
distanceL2Squared
Argumentos
Valor retornado
Retorna a soma dos quadrados das diferenças entre os elementos correspondentes de dois vetores. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, retorna Float64. Para entradas Tuple, o tipo de retorno segue o tipo de resultado aritmético das operações elemento a elemento (os tipos inteiros são preservados). (U)Int* ou Float*
Exemplos
Uso básico
Query
Response
L2SquaredNorm
L2Norm).
Sintaxe
normL2Squared
Argumentos
Valor retornado
Retorna o quadrado da norma L2. UInt* ou Float* ou Decimal
Exemplos
Uso básico
Query
Response
LinfDistance
L_{inf} (norma máxima).
Sintaxe
distanceLinf
Argumentos
Valor retornado
Retorna a distância na norma infinita. Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, retorna Float64. Para entradas Tuple, sempre retorna Float64. Float*
Exemplos
Uso básico
Query
Response
LinfNorm
normLinf
Argumentos
Valor retornado
Retorna a norma Linf, ou seja, o maior valor absoluto. Float64
Exemplos
Uso básico
Query
Response
LinfNormalize
L_{inf} (usando a norma máxima).
Sintaxe
normalizeLinf
Argumentos
tuple— Uma tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Exemplos
Uso básico
Query
Response
LpDistance
Lp (distância da norma p).
Sintaxe
distanceLp
Argumentos
vector1— Primeiro vetor.Tuple(T)ouArray(T)vector2— Segundo vetor.Tuple(T)ouArray(T)p— A potência. Valores possíveis: número real em[1; inf).UInt*ouFloat*
Array, retorna Float32 se o menor supertipo comum dos tipos de elemento for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float*
Exemplos
Uso básico
Query
Response
LpNorm
- Quando p=1, é equivalente a L1Norm (distância de Manhattan).
- Quando p=2, é equivalente a L2Norm (distância euclidiana).
- Quando p=∞, é equivalente a LinfNorm (norma máxima).
normLp
Arguments
vector— Vetor ou tupla de valores numéricos.Tuple(T)ouArray(T)p— A potência. Os valores possíveis são números reais no intervalo[1; inf).UInt*ouFloat*
Float64
Examples
Basic usage
Query
Response
LpNormalize
Lp (usando norma p).
Sintaxe
normalizeLp
Argumentos
tuple— Uma tupla de valores numéricos.Tuple(T)p— A potência. Os valores possíveis são quaisquer números no intervalo[1; inf).UInt*ouFloat*
Tuple(Float64)
Exemplos
Exemplo de uso
Query
Response
cosineDistance
distanceCosine
Argumentos
Valor retornado
Retorna a distância de cosseno (um menos a similaridade de cosseno). Para entradas Array, retorna Float32 se o menor supertipo comum dos tipos dos elementos for Float32 ou BFloat16; caso contrário, Float64. Para entradas Tuple, sempre retorna Float64. Float*
Exemplos
Uso básico
Query
Response
cosineDistanceTransposed
distanceCosineTransposed
Argumentos
vectors— Vetores.QBit(T, UInt64[, UInt64])reference— Vetor de referência.Array(T)p— Número de bits de cada elemento do vetor usados no cálculo da distância (de 1 até a largura de bits do elemento). O nível de quantização controla o equilíbrio entre precisão e velocidade. Usar menos bits resulta em E/S e cálculos mais rápidos, com menor precisão, enquanto usar mais bits aumenta a precisão ao custo do desempenho.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit, sem exceder sua dimensão, e o vetor de referência deve ter pelo menos essa quantidade de elementos (quaisquer elementos adicionais no final são ignorados). Somente os grupos de stride que cobrem essas dimensões são lidos.UInt
Float64
Exemplos
Uso básico
Query
Response
cosineDistanceTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (desquantizados em tempo de execução) e um vetor de referência. Quanto menor o valor retornado, mais semelhantes são os vetores. Um vetor de referência (consulta) Float é comparado diretamente com precisão Float32 — a precisão de reconstrução dos códigos desquantizados; assim, uma consulta Float64 é reduzida para Float32, enquanto uma consulta BFloat16 é promovida exatamente para Float32 (cálculo de distância assimétrica). Já uma referência Array(Int8) é tratada como códigos quantizeBFloat16ToInt8 e desquantizada para seus níveis de reconstrução. Observe que p trunca apenas os códigos QBit armazenados; a referência Array(Int8) é, por si só, uma consulta completa e sempre é reconstruída com precisão total de 8 bits, portanto esta é uma distância simétrica entre quantizados somente em p = 8 (para p < 8, apenas o lado armazenado é lido com precisão mais baixa). Ela deve estar no mesmo espaço em que os valores estavam antes da quantização (isto é, após a mesma rotação aleatória e o mesmo escalonamento), o que é responsabilidade de quem faz a chamada. A distância de cosseno é invariante à escala; produto escalar e distância L2 não são.
Sintaxe
vectors— Vetores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vetor de referência (consulta): um array deFloat(a consulta é comparada com precisãoFloat32— uma consultaFloat64é reduzida paraFloat32), ou umArray(Int8)de códigosquantizeBFloat16ToInt8desquantizados em tempo de execução.Array(Float32)ouArray(Int8)p— Número de bits mais altos de cada códigoQBitarmazenado a serem usados (de 1 a 8). Menos bits reconstroem um quantizador embutido mais grosseiro, para E/S mais rápida com menor precisão; 8 bits correspondem à reconstrução em precisão total.ptrunca apenas oQBitarmazenado; uma referênciaArray(Int8)é sempre reconstruída com precisão total de 8 bits.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit, sem exceder sua dimensão, e o vetor de referência deve ter pelo menos essa quantidade de elementos (quaisquer elementos extras ao final são ignorados). Apenas os grupos de stride que cobrem essas dimensões são lidos.UInt
Float64. Float64
Exemplos
Uso básico
Query
dotProductTransposed
scalarProductTransposed
Argumentos
vectors— Vetores.QBit(T, UInt64[, UInt64])reference— Vetor de referência.Array(T)p— Número de bits de cada elemento do vetor usados no cálculo (de 1 até a largura de bits do elemento). O nível de quantização controla o equilíbrio entre precisão e velocidade. Usar menos bits resulta em E/S e cálculos mais rápidos, com menor precisão, enquanto usar mais bits aumenta a precisão ao custo do desempenho.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit que não exceda sua dimensão, e o vetor de referência deve ter pelo menos esse número de elementos (quaisquer elementos extras no final são ignorados). Somente os grupos de stride que abrangem essas dimensões são lidos.UInt
Float64. Float64
Exemplos
Uso básico
Query
Response
dotProductTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (desquantizados em tempo de execução) e um vetor de referência. Esta é uma medida de similaridade: quanto maior o valor retornado, mais semelhantes são os vetores. Um vetor de referência Float (consulta) é comparado diretamente com precisão Float32 — a precisão de reconstrução dos códigos desquantizados —, de modo que uma consulta Float64 é reduzida para Float32, enquanto uma consulta BFloat16 é ampliada exatamente para esse formato (cálculo de distância assimétrico); uma referência Array(Int8) é tratada como códigos quantizeBFloat16ToInt8 e desquantizada para seus níveis de reconstrução. Observe que p trunca apenas os códigos QBit armazenados; a referência Array(Int8) é, por si só, uma consulta completa e sempre é reconstruída com precisão total de 8 bits, portanto esta é uma distância simétrica entre quantizados somente em p = 8 (para p < 8, apenas o lado armazenado é lido com precisão mais baixa). Ela deve estar no mesmo espaço em que os valores estavam antes da quantização (isto é, após a mesma rotação aleatória e o mesmo escalonamento), o que é responsabilidade do chamador. A distância cosseno é invariante à escala; o produto escalar e a distância L2 não são.
Sintaxe
vectors— Vetores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vetor de referência (consulta): um array deFloat(a consulta, comparada com precisãoFloat32— uma consultaFloat64é convertida paraFloat32), ou umArray(Int8)de códigosquantizeBFloat16ToInt8desquantizados em tempo de execução.Array(Float32)ouArray(Int8)p— Número de bits mais significativos de cada códigoQBitarmazenado a serem usados (de 1 a 8). Menos bits reconstroem um quantizador embutido mais grosseiro para E/S mais rápida, com menor precisão; 8 bits correspondem à reconstrução com precisão total.ptrunca apenas oQBitarmazenado; uma referênciaArray(Int8)é sempre reconstruída com precisão total de 8 bits.UIntused_dims— Opcional. Número de dimensões iniciais a serem lidas, para uma busca de dimensão reduzida (Matryoshka) em umQBitcom stride. Deve ser um múltiplo do stride do QBit que não exceda sua dimensão, e o vetor de referência deve ter pelo menos esse número de elementos (quaisquer elementos extras no final são ignorados). Somente os grupos de stride que abrangem essas dimensões são lidos.UInt
Float64. Float64
Exemplos
Uso básico
Query