Векторный индекс на TurboQuant с SIMD-ядрами
🔹 RyanCodrai/turbovec
⭐ 13513 звёзд · Python
Индекс поверх алгоритма TurboQuant от Google Research: ядро на Rust, биндинги для Python. 10 миллионов документов во float32 занимают 31 ГБ, turbovec ужимает их до 4 ГБ. Для 1536-мерных векторов сжатие 16x — 6144 байта превращаются в 384 при 2-bit квантизации.
Внутри — рукописные SIMD-ядра под NEON и AVX-512BW с фолбэком на AVX2. На ARM обгоняет FAISS IndexPQFastScan на 10–19%, на x86 выигрывает в 4-bit и уступает в 2-bit. Индексирование онлайн, без отдельной фазы обучения: калибровка TQ+ считается один раз при первой вставке и замораживается.
Фильтрация по allowlist идентификаторов работает прямо в SIMD-ядре, без переполучения кандидатов. Есть drop-in интеграции с LangChain, LlamaIndex, Haystack и Agno.