RaBitQ Library
A C++17 library with Python bindings implementing the RaBitQ vector-quantization algorithm for approximate nearest-neighbor search, combined with IVF, HNSW and SymphonyQG index structures.
RaBitQ Library compresses high-dimensional vectors into compact 1-bit or multi-bit quantized codes while keeping distance computations accurate enough for approximate nearest-neighbor search, built as a research-backed C++17 library with Python bindings for IVF, HNSW and SymphonyQG index types. Prebuilt wheels cover CPython 3.11 through 3.14 on Linux x86-64 and ARM64, Windows x86-64, and Apple Silicon macOS, using AVX2, FMA or AVX-512 acceleration on x86-64 and NEON or portable scalar kernels on ARM64.
Building and searching an index accepts a thread count, defaulting to zero, which the library interprets as using all detected hardware threads in C++, though the Python bindings default to a single thread unless a count is given explicitly. IVF and HNSW examples build clusters with Faiss in a separate process before handing them to RaBitQ's own indexing, keeping the two libraries' OpenMP runtimes from conflicting. The txtai project has adopted the library as an approximate-nearest-neighbor backend supporting both IVF and HNSW modes.