返回开源榜单
Python今日中等MIT

RyanCodrai/turbovec

提供高效向量索引,加速数据检索速度

这是基于Google TurboQuant算法构建的向量索引工具,用Rust实现核心逻辑并提供Python绑定,能将千万级向量数据的内存占用从31GB压缩至4GB,同时检索速度优于FAISS,主打本地部署的隐私性与高性能。

Stars

10.1k

Forks

863

增长

+1.8ktoday

最近更新 2026/6/9

Overview

项目介绍

RyanCodrai/turbovec 解决的是提供高效向量索引,加速数据检索速度这类实际需求。作为开源项目,它把一个明确场景里的关键步骤整理成可复用的开源实现,核心价值在于把原本分散的操作沉淀成更稳定的项目能力。

拆开看,Rust编写保证高性能运行、提供Python接口降低使用门槛和基于成熟框架TurboQuant构建构成了这个项目的主要竞争力。它不是追求大而全,而是先把一个具体环节做顺,再让开发者按自己的环境继续改造。

Technical Route

技术路线

turbovec 以 Google TurboQuant(在线向量量化算法)为核心,采用 Rust 实现底层引擎并提供 Python 绑定,主打本地隐私部署的高性能近似最近邻(ANN)检索。架构主线围绕无训练阶段的向量压缩与检索展开,通过随机旋转、标量量化、SIMD(单指令多数据)内核加速等模块协作,实现千万级向量内存占用从31GB压缩至4GB,检索性能优于FAISS,适配ARM、x86多硬件架构,支持RAG(检索增强生成)场景的混合检索需求。

  1. 1TurboQuant量化层基于Google TurboQuant算法实现无训练阶段的向量压缩,先对向量做归一化与随机正交矩阵旋转,使坐标分布可预测,再通过Lloyd-Max(劳埃德-马克斯)标量量化将高维向量压缩为低比特表示,同时通过TQ+校准修正有限维度下的分布偏差,无需预训练码本。
  2. 2SIMD加速检索层针对ARM架构实现NEON(高级SIMD扩展)内核,针对x86架构实现AVX-512BW(512位高级矢量扩展)内核,支持运行时硬件特性自动检测,通过 nibble-split 查找表直接对压缩向量评分,比FAISS IndexPQFastScan在ARM上快12-20%,x86多数配置实现性能领先。
  3. 3混合检索过滤层在search()接口中支持传入ID白名单或位掩码,过滤逻辑嵌入SIMD内核,以32向量块为粒度短路无匹配块,避免无效计算与结果丢弃,确保返回符合过滤条件的精准结果,适配SQL、BM25等外部系统筛选后的候选集重排场景。
  4. 4双索引存储层提供TurboQuantIndex基础索引与IdMapIndex带稳定ID的索引,前者支持在线增量写入与持久化读写,后者支持O(1)时间复杂度的ID删除操作,生成的索引文件分别以.tv和.tvim为后缀,满足不同数据生命周期管理需求。
  5. 5跨语言绑定层通过Rust核心逻辑封装,提供Python与Rust双语言API,Python端支持pip直接安装,兼容LangChain、LlamaIndex、Haystack等主流RAG框架的向量存储接口,实现无代码改动的替换集成,Rust端支持cargo依赖引入,适配高性能后端场景。
  6. 6长度归一化校准层在编码阶段计算每个向量的长度归一化因子,将旋转后的单位向量与质心重构的内积比值存储,检索时直接修正量化导致的内积低估偏差,在无额外搜索成本的前提下提升低比特宽度下的召回率,最大可提升1.4个百分点。

Why Trending

为什么它会上榜

结合增长、最近更新与社区关注,给出一个更接近“决策参考”的上榜解读。

  • 社区关注度上升:近期新增 +1800 Stars(today),讨论热度明显提高。
  • 维护活跃:最近更新于 2026/06/09,更可能持续迭代与补齐文档/生态。
  • 方向聚焦:覆盖 ann / avx512 / embedding / embeddings 等主题,适合在该方向快速落地与对比选型。
  • 定位清晰:这是基于TurboQuant构建的向量索引工具,用Rust编写并提供Python接口,可提升数据检索效率

Audience

适合谁

  • 需要构建离线隐私优先RAG系统的独立开发者
  • 处理大规模高维度AI嵌入向量的算法团队
  • 使用LangChain/LlamaIndex等框架且想优化检索性能的开发者
  • 对向量检索内存占用、速度有严格要求的后端开发人员

Use Cases

能拿来做什么

  • 从事AI算法开发的技术人员
  • 需要处理大规模向量数据的开发者

Quick Start

怎么开始

请看仓库 README 的安装章节

Watchouts

使用前注意事项

  • x86平台默认要求AVX2以上指令集,老旧CPU可能无法启用最优性能的AVX-512内核,仅能使用AVX2 fallback。
  • 当前版本仅支持2位和4位量化,对更高精度有要求的场景需评估召回率是否符合需求。
  • 项目基于TurboQuant算法,低维度向量(如GloVe d=200)的召回率略低于FAISS,需根据业务场景测试验证。

Related

相关项目