QBit reorganiza el almacenamiento de vectores para acelerar las búsquedas aproximadas. En lugar de almacenar juntos los elementos de cada vector, agrupa las mismas posiciones de bits en todos los vectores.
Esto permite almacenar los vectores con precisión completa y, al mismo tiempo, elegir el nivel de cuantización de grano fino en el momento de la búsqueda: leer menos bits para reducir el I/O y acelerar los cálculos, o más bits para obtener mayor precisión. Obtienes las ventajas de velocidad de la cuantización —menos transferencia de datos y menos cómputo—, pero todos los datos originales siguen disponibles cuando se necesitan.
Para declarar una columna de tipo QBit, usa la siguiente sintaxis:
element_type– el tipo de cada elemento del vector. Los tipos permitidos sonBFloat16,Float32yFloat64dimension– la cantidad de elementos de cada vector
Crear QBit
QBit en la definición de una columna de tabla:
Subcolumnas de QBit
QBit implementa un patrón de acceso a subcolumnas que permite acceder a planos de bits individuales de los vectores almacenados. Se puede acceder a cada posición de bit mediante la sintaxis .N, donde N es la posición del bit:
BFloat16: 16 subcolumnas (1-16)Float32: 32 subcolumnas (1-32)Float64: 64 subcolumnas (1-64)
Funciones de búsqueda vectorial
QBit: