turbovec 是什么?

turbovec(RyanCodrai/turbovec)是一个用 Rust 实现、带 Python 绑定的向量索引库,基于 Google Research 的 TurboQuant 量化算法做近似最近邻(ANN)检索。它主打高压缩 + 高速度:宣称 1000 万文档语料用 float32 需约 31GB 内存,而 turbovec 压到约 4GB,并比 FAISS 检索更快。TurboQuant 是「数据无关(data-oblivious)」量化器,无需 codebook 训练或数据遍历即可达到接近香农失真下界。MIT 许可,约 2,873 stars,主语言 Python(核心 Rust),同时发布 PyPI(turbovec)与 crates.io,有论文(arXiv:2504.19874)。

⭐ 3,116 Stars 🍴 276 Forks Python MIT 作者: RyanCodrai
来源:README.md(标题、介绍、Python 用法、徽章);GitHub 仓库元数据(stars=2873、language=Python、license=MIT、topics ann/quantization/rust) 查看 GitHub 仓库 →

为什么值得关注

RAG 与向量检索在大规模语料下面临内存占用大、检索慢、需训练 codebook 等问题。turbovec 基于 TurboQuant 做免训练量化(加入即索引、随语料增长无需重建),用手写 NEON/AVX-512 SIMD kernel 在 ARM 上比 FAISS IndexPQFastScan 快 12–20%、x86 上持平或更快,并支持搜索时过滤(allowlist)与纯本地/气隙部署,契合隐私、内存与延迟敏感的 RAG 需求,因而受关注。需说明:性能/压缩对比为项目自述基准,实际依数据、维度与硬件;它是 ANN 量化索引,召回受 bit_width 等参数影响。截至数据采集约 2,873 stars。

来源:README.md(介绍、Filter、Pure local);GitHub 仓库元数据(stars=2873、pushed_at 2026-05)

核心功能

免训练高压缩量化

基于 TurboQuant 数据无关量化,无需 codebook 训练或数据遍历,加入即索引、无需随增长重建。

来源:README.md(介绍、No codebook training)
SIMD 加速、快于 FAISS

手写 NEON/AVX-512 kernel,ARM 上比 FAISS IndexPQFastScan 快 12–20%、x86 持平或更快(自述基准)。

来源:README.md(Faster than FAISS)
搜索时过滤(混合检索)

支持 id allowlist/位掩码在 kernel 内过滤,选择性过滤避免大部分 SIMD 开销且不损召回。

来源:README.md(Filter at search time、Hybrid retrieval)
纯本地 + 稳定 id

纯本地/气隙部署、不外发数据;IdMapIndex 支持稳定外部 uint64 id 与 O(1) 删除,索引可写盘加载。

来源:README.md(Pure local、IdMapIndex 用法)

技术架构

turbovec 核心用 Rust 实现、对外提供 Python 绑定。索引基于 TurboQuant:数据无关量化器,把向量量化为低比特表示(如 bit_width=4),无需 codebook 训练或数据遍历,加入向量即索引、随语料增长不必重建。检索由手写 SIMD kernel(ARM NEON、x86 AVX-512BW)执行,并支持搜索时过滤——传入 id allowlist 或 slot 位掩码,过滤在 SIMD kernel 内以 32 向量块粒度进行(无允许槽的块直接短路、被允许块内非允许槽在入堆时丢弃),从而对选择性过滤避免大部分 SIMD 开销且不损召回。提供 TurboQuantIndex 与支持稳定外部 id/删除的 IdMapIndex,索引可写盘/加载。纯本地运行,可配任意开源嵌入模型组成气隙 RAG。

来源:README.md(介绍、Python/IdMapIndex/Hybrid retrieval 说明);GitHub 仓库元数据(language=Python、Rust 核心)

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) TurboQuant(量化算法)TurboQuant(量… 手写 SIMD kernel(NEON/AVX-512BW)手写 SIMD kern… numpy(Python 接口)numpy(Python… 免训练高压缩量化 SIMD 加速、快于 FAISS 搜索时过滤(混合检索) 纯本地 + 稳定 id turbovec 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言Rust(核心)+ Python(绑定)框架向量索引 / ANN 量化检索(基于 TurboQuant)
TurboQuant(量化算法)手写 SIMD kernel(NEON/AVX-512BW)numpy(Python 接口)
PyPI turbovec、crates.io turbovec;纯本地;MIT;论文 arXiv:2504.19874
来源:README.md(标题、徽章、Python 用法);GitHub 仓库元数据(language=Python、Rust)

快速上手

Python:`pip install turbovec`,`from turbovec import TurboQuantIndex`,建 `TurboQuantIndex(dim=1536, bit_width=4)`,`index.add(vectors)` 加入并 `index.search(query, k=10)` 检索,`write/load` 持久化。需要稳定 id/删除用 `IdMapIndex`(add_with_ids/remove)。混合检索时先由外部系统(SQL/BM25/ACL/时间窗)产出候选 id,再 `search(query, k, allowlist=allowed)` 在候选集内稠密重排。Rust 用 crates.io 的 turbovec。参数(如 bit_width)影响压缩与召回,按场景调。
来源:README.md(Python、IdMapIndex、Hybrid retrieval)

使用场景

适合在内存、隐私或延迟敏感场景下做向量检索/RAG:大规模语料的低内存高速 ANN 检索、纯本地/气隙的 RAG(配开源嵌入模型不外发数据)、需要搜索时按租户/权限/时间窗等过滤的混合检索,以及作为 FAISS 的可选替代。也适合需要免训练、随语料增长无需重建索引的工程场景。召回与压缩需按 bit_width 等参数和数据特性评估。

来源:README.md(介绍、Pure local、Hybrid retrieval)

优势与局限

优势

  • 免训练量化 + 高压缩(自述 31GB→4GB),随增长无需重建
  • 手写 SIMD kernel,自述快于/持平 FAISS
  • 搜索时过滤在 kernel 内高效完成,适合混合检索
  • 纯本地/气隙、Rust 内核 + Python 绑定,MIT 开源、有论文

局限

  • 性能/压缩为自述基准,实际依数据、维度与硬件
  • ANN 量化索引,召回受 bit_width 等参数影响,需调
  • 相对 FAISS 等成熟库生态与功能仍较新
  • SIMD 优化依赖 NEON/AVX-512 等指令集支持
来源:README.md(介绍、Filter、Python 用法)

最新版本

本页未列固定版本号;turbovec 通过 PyPI(turbovec)与 crates.io 发布,版本见对应页面与 GitHub Releases。仓库最后更新约在 2026 年 5 月,维护活跃;算法依据 TurboQuant 论文(arXiv:2504.19874)。

来源:README.md(徽章);GitHub pushed_at

总结评价

turbovec 是一个基于 Google TurboQuant 的 Rust 向量索引(带 Python 绑定):用数据无关、免训练的量化把向量高压缩存储(自述 31GB→4GB),手写 NEON/AVX-512 kernel 使检索快于或持平 FAISS,并支持在 kernel 内高效的搜索时过滤与纯本地/气隙部署,对内存、隐私或延迟敏感的 RAG/向量检索很有吸引力。要清楚性能与压缩为自述基准、实际依数据与硬件、ANN 量化召回受 bit_width 等参数影响、生态相对成熟库仍较新、SIMD 依赖指令集支持。作为 FAISS 的轻量高压缩本地替代,思路新、定位清晰。

来源:综合 README.md 的定位、TurboQuant 原理、能力与基准性质
透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-26 14:45. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件