L1Distance
L1 (norma 1 (distancia de la geometría del taxista)).
Sintaxis
distanceL1
Argumentos
Valor devuelto
Devuelve la distancia de norma 1. Para entradas Array, devuelve Float32 si el supertipo común más específico de los tipos de elemento es Float32 o BFloat16; de lo contrario, Float64. Para entradas Tuple, el tipo de retorno sigue el tipo de resultado aritmético de las operaciones elemento a elemento (los tipos enteros se conservan). (U)Int* o Float*
Ejemplos
Uso básico
Query
Response
L1Norm
normL1
Argumentos
Valor devuelto
Devuelve la norma L1 o la distancia de la geometría del taxista. UInt* o Float* o Decimal
Ejemplos
Uso básico
Query
Response
L1Normalize
L1 (geometría del taxista).
Sintaxis
normalizeL1
Argumentos
tuple— Una tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Ejemplos
Uso básico
Query
Response
L2Distance
distanceL2
Argumentos
Valor devuelto
Devuelve la distancia L2. Para entradas Array, devuelve Float32 si el supertipo común mínimo de los tipos de elemento es Float32 o BFloat16; en caso contrario, Float64. Para entradas Tuple, siempre devuelve Float64. Float*
Ejemplos
Uso básico
Query
Response
L2DistanceTransposed
distanceL2Transposed
Argumentos
vectors— Vectores.QBit(T, UInt64[, UInt64])reference— Vector de referencia.Array(T)p— Número de bits de cada elemento del vector que se usarán en el cálculo de la distancia (de 1 hasta el ancho de bits del elemento). El nivel de cuantización controla el equilibrio entre precisión y velocidad. Usar menos bits da lugar a operaciones de E/S y cálculos más rápidos, pero con menor exactitud, mientras que usar más bits aumenta la exactitud a costa del rendimiento.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no exceda su dimensión, y el vector de referencia debe tener al menos esa cantidad de elementos (los elementos adicionales al final se ignoran). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64. Float64
Ejemplos
Uso básico
Query
Response
L2DistanceTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (descuantizados sobre la marcha) y un vector de referencia. Un vector de referencia (consulta) Float se compara directamente con precisión Float32 —la precisión de reconstrucción de los códigos descuantizados—, por lo que una consulta Float64 se reduce a Float32, mientras que una consulta BFloat16 se amplía a este exactamente (cálculo de distancia asimétrico); una referencia Array(Int8) se trata, a su vez, como códigos quantizeBFloat16ToInt8 y se descuantiza a sus niveles de reconstrucción. Tenga en cuenta que p trunca solo los códigos QBit almacenados; la referencia Array(Int8) es una consulta completa y siempre se reconstruye con precisión completa de 8 bits, por lo que esta es una distancia simétrica entre cuantizado y cuantizado solo cuando p = 8 (para p < 8, solo el lado almacenado se lee con una precisión más gruesa). Debe estar en el mismo espacio en el que estaban los valores antes de la cuantización (es decir, después de la misma rotación aleatoria y el mismo escalado), lo cual es responsabilidad de quien realiza la llamada. La distancia de coseno es invariante a la escala; el producto escalar y la distancia L2 no lo son.
Sintaxis
vectors— Vectores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vector de referencia (consulta): un arrayFloat(la consulta, comparada con precisiónFloat32— una consultaFloat64se reduce aFloat32), o unArray(Int8)de códigosquantizeBFloat16ToInt8descuantizados sobre la marcha.Array(Float32)oArray(Int8)p— Número de bits superiores de cada códigoQBitalmacenado que se usarán (de 1 a 8). Menos bits reconstruyen un cuantizador embebido más tosco para una E/S más rápida con menor exactitud; 8 bits es la reconstrucción con precisión completa.psolo trunca elQBitalmacenado; una referenciaArray(Int8)siempre se reconstruye con precisión completa de 8 bits.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no exceda su dimensión, y el vector de referencia debe tener al menos esa cantidad de elementos (cualquier elemento adicional al final se ignora). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64. Float64
Ejemplos
Uso básico
Query
L2Norm
normL2
Argumentos
Valor devuelto
Devuelve la norma L2 o la distancia euclidiana. UInt* o Float*
Ejemplos
Uso básico
Query
Response
L2Normalize
normalizeL2
Argumentos
tuple— Una tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Ejemplos
Uso básico
Query
Response
L2SquaredDistance
distanceL2Squared
Argumentos
Valor devuelto
Devuelve la suma de los cuadrados de las diferencias entre los elementos correspondientes de dos vectores. Para entradas Array, devuelve Float32 si el menor supertipo común de los tipos de elemento es Float32 o BFloat16; de lo contrario, Float64. Para entradas Tuple, el tipo de retorno sigue el tipo de resultado aritmético de las operaciones elemento a elemento (se conservan los tipos enteros). (U)Int* o Float*
Ejemplos
Uso básico
Query
Response
L2SquaredNorm
L2Norm).
Sintaxis
normL2Squared
Argumentos
Valor devuelto
Devuelve la norma L2 al cuadrado. UInt* o Float* o Decimal
Ejemplos
Uso básico
Query
Response
LinfDistance
L_{inf} (norma máxima).
Sintaxis
distanceLinf
Argumentos
Valor devuelto
Devuelve la distancia en norma infinito. Para entradas Array, devuelve Float32 si el supertipo común mínimo de los tipos de los elementos es Float32 o BFloat16; de lo contrario, Float64. Para entradas Tuple, siempre devuelve Float64. Float*
Ejemplos
Uso básico
Query
Response
LinfNorm
normLinf
Argumentos
Valor devuelto
Devuelve la norma Linf, es decir, el valor absoluto máximo. Float64
Ejemplos
Uso básico
Query
Response
LinfNormalize
L_{inf} (utilizando la norma máxima).
Sintaxis
normalizeLinf
Argumentos
tuple— Una tupla de valores numéricos.Tuple(T)
Tuple(Float64)
Ejemplos
Uso básico
Query
Response
LpDistance
Lp (distancia según la norma p).
Sintaxis
distanceLp
Argumentos
vector1— Primer vector.Tuple(T)oArray(T)vector2— Segundo vector.Tuple(T)oArray(T)p— La potencia. Valores posibles: número real en[1; inf).UInt*oFloat*
Array, devuelve Float32 si el supertipo común mínimo de los tipos de elemento es Float32 o BFloat16; de lo contrario, Float64. Para entradas Tuple, siempre devuelve Float64. Float*
Ejemplos
Uso básico
Query
Response
LpNorm
- Cuando p=1, es equivalente a L1Norm (distancia de Manhattan).
- Cuando p=2, es equivalente a L2Norm (distancia euclidiana).
- Cuando p=∞, es equivalente a LinfNorm (norma máxima).
normLp
Argumentos
vector— Vector o tupla de valores numéricos.Tuple(T)oArray(T)p— La potencia. Los valores posibles son números reales en el intervalo[1; inf).UInt*oFloat*
Float64
Ejemplos
Uso básico
Query
Response
LpNormalize
Lp (usando la norma p).
Sintaxis
normalizeLp
Argumentos
tuple— Una tupla de valores numéricos.Tuple(T)p— La potencia. Los valores posibles son cualquier número en el intervalo[1; inf).UInt*oFloat*
Tuple(Float64)
Ejemplos
Ejemplo de uso
Query
Response
cosineDistance
distanceCosine
Argumentos
Valor devuelto
Devuelve la distancia de coseno (uno menos la similitud coseno). Para entradas de tipo Array, devuelve Float32 si el supertipo común de los tipos de elemento es Float32 o BFloat16; en caso contrario, Float64. Para entradas de tipo Tuple, siempre devuelve Float64. Float*
Ejemplos
Uso básico
Query
Response
cosineDistanceTransposed
distanceCosineTransposed
Argumentos
vectors— Vectores.QBit(T, UInt64[, UInt64])reference— Vector de referencia.Array(T)p— Número de bits de cada elemento del vector que se usarán en el cálculo de la distancia (de 1 al ancho de bits del elemento). El nivel de cuantización controla el equilibrio entre precisión y velocidad. Usar menos bits da lugar a E/S y cálculos más rápidos, pero con menor exactitud, mientras que usar más bits aumenta la exactitud a costa del rendimiento.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no supere su dimensión, y el vector de referencia debe tener al menos esa cantidad de elementos (se ignoran los elementos adicionales al final). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64
Ejemplos
Uso básico
Query
Response
cosineDistanceTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (descuantizados sobre la marcha) y un vector de referencia. Cuanto menor sea el valor devuelto, más similares serán los vectores. Un vector de referencia (de consulta) Float se compara directamente con precisión Float32 —la precisión de reconstrucción de los códigos descuantizados—, por lo que una consulta Float64 se reduce a Float32, mientras que una consulta BFloat16 se amplía exactamente a este formato (cálculo de distancia asimétrico); una referencia Array(Int8) se trata, a su vez, como códigos quantizeBFloat16ToInt8 y se descuantiza a sus niveles de reconstrucción. Tenga en cuenta que p trunca solo los códigos QBit almacenados; la referencia Array(Int8) es en sí misma una consulta completa y siempre se reconstruye con la precisión completa de 8 bits, por lo que esta es una distancia simétrica entre cuantizado y cuantizado solo cuando p = 8 (para p < 8, solo el lado almacenado se lee con una precisión más baja). Debe estar en el mismo espacio en el que estaban los valores antes de la cuantización (es decir, después de la misma rotación aleatoria y el mismo escalado), lo cual es responsabilidad de quien realiza la llamada. La distancia de coseno es invariante a la escala; el producto escalar y la distancia L2 no lo son.
Sintaxis
vectors— Vectores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vector de referencia (consulta): un array deFloat(la consulta, comparada con precisiónFloat32— una consultaFloat64se reduce aFloat32), o unArray(Int8)de códigosquantizeBFloat16ToInt8descuantizados sobre la marcha.Array(Float32)oArray(Int8)p— Número de bits más altos de cada códigoQBitalmacenado que se usarán (de 1 a 8). Menos bits reconstruyen un cuantizador embebido más grueso para obtener una E/S más rápida con menor exactitud; 8 bits corresponden a la reconstrucción de precisión completa.ptrunca solo elQBitalmacenado; una referenciaArray(Int8)siempre se reconstruye con precisión completa de 8 bits.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán, para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no supere su dimensión, y el vector de referencia debe tener al menos esta cantidad de elementos (cualquier elemento adicional al final se ignora). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64. Float64
Ejemplos
Uso básico
Query
dotProductTransposed
scalarProductTransposed
Argumentos
vectors— Vectores.QBit(T, UInt64[, UInt64])reference— Vector de referencia.Array(T)p— Número de bits de cada elemento del vector que se usarán en el cálculo (de 1 al ancho de bits del elemento). El nivel de cuantización controla el equilibrio entre precisión y velocidad. Usar menos bits da lugar a E/S y cálculos más rápidos, pero con menor exactitud, mientras que usar más bits aumenta la exactitud a costa del rendimiento.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán, para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no exceda su dimensión, y el vector de referencia debe tener al menos esa cantidad de elementos (se ignoran los elementos adicionales al final). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64. Float64
Ejemplos
Uso básico
Query
Response
dotProductTransposedQuantized
QBit(Int8) de códigos quantizeBFloat16ToInt8 (descuantizados sobre la marcha) y un vector de referencia. Esta es una medida de similitud: cuanto mayor sea el valor devuelto, más similares serán los vectores. Un vector de referencia (consulta) Float se compara directamente con precisión Float32 — la precisión de reconstrucción de los códigos descuantizados, por lo que una consulta Float64 se reduce a Float32, mientras que una consulta BFloat16 se amplía exactamente a esa precisión (cálculo asimétrico de la distancia); una referencia Array(Int8) se trata como códigos quantizeBFloat16ToInt8 y se descuantiza a sus niveles de reconstrucción. Tenga en cuenta que p trunca solo los códigos QBit almacenados; la referencia Array(Int8) es en sí misma una consulta completa y siempre se reconstruye con la precisión completa de 8 bits, por lo que esta es una distancia simétrica entre cuantizado y cuantizado solo cuando p = 8 (para p < 8, solo el lado almacenado se lee con una precisión más baja). Debe estar en el mismo espacio en el que estaban los valores antes de la cuantización (es decir, después de la misma rotación aleatoria y el mismo escalado), lo cual es responsabilidad del llamador. La distancia de coseno es invariante a la escala; el producto escalar y la distancia L2 no lo son.
Sintaxis
vectors— Vectores de códigosquantizeBFloat16ToInt8.QBit(Int8, UInt64[, UInt64])reference— Vector de referencia (consulta): un array deFloat(la consulta, comparada con precisiónFloat32— una consultaFloat64se convierte aFloat32), o unArray(Int8)de códigosquantizeBFloat16ToInt8descuantizados sobre la marcha.Array(Float32)oArray(Int8)p— Número de bits superiores de cada códigoQBitalmacenado que se usarán (de 1 a 8). Menos bits reconstruyen un cuantizador embebido más grueso para una E/S más rápida con menor exactitud; 8 bits es la reconstrucción de precisión completa.ptrunca solo elQBitalmacenado; una referenciaArray(Int8)siempre se reconstruye con precisión completa de 8 bits.UIntused_dims— Opcional. Número de dimensiones iniciales que se leerán, para una búsqueda de dimensión reducida (Matryoshka) en unQBitcon stride. Debe ser un múltiplo del stride de QBit que no exceda su dimensión, y el vector de referencia debe tener al menos esa cantidad de elementos (se ignoran los elementos adicionales al final). Solo se leen los grupos de stride que cubren estas dimensiones.UInt
Float64
Ejemplos
Uso básico
Query