QBit реорганизует хранение векторов, чтобы ускорить приближенный поиск. Вместо того чтобы хранить элементы каждого вектора вместе, он группирует одинаковые позиции битов во всех векторах.
При этом векторы хранятся с полной точностью, а во время поиска вы можете выбирать уровень квантования: считывать меньше битов, чтобы сократить I/O и ускорить вычисления, или больше битов для более высокой точности. Это дает выигрыш в скорости за счет уменьшения объема передаваемых данных и вычислений благодаря квантованию, при этом все исходные данные при необходимости остаются доступными.
Чтобы объявить столбец типа QBit, используйте следующий синтаксис:
element_type– тип каждого элемента вектора. Допустимые типы:BFloat16,Float32иFloat64dimension– размерность, то есть число элементов в каждом векторе
Создание QBit
QBit при определении столбца таблицы:
Подстолбцы QBit
QBit реализует шаблон доступа к подстолбцам, который позволяет обращаться к отдельным битовым плоскостям сохранённых векторов. Доступ к каждой битовой позиции можно получить с помощью синтаксиса .N, где N — это позиция бита:
BFloat16: 16 подстолбцов (1-16)Float32: 32 подстолбца (1-32)Float64: 64 подстолбца (1-64)
Функции векторного поиска
QBit: