提交智能体收藏0
T
开发框架智能体开发

turbovec 向量索引库

turbovec

面向 Python 与 Rust 的进程内向量索引库,使用 TurboQuant 量化压缩向量并支持带过滤的相似度搜索。

An in-process vector index library for Python and Rust that compresses vectors with TurboQuant and supports filtered similarity search.

— 人看过

GitHub 项目数据

GitHub ★ 17,411Fork 1,489项目指标 88/100

最近提交:2026-10-07T06:55:09Z · 许可证:MIT

来源:GitHub 官方 API · 同步于 2026-10-20 19:30(北京时间)

项目官网 ↗

评分规则与适用范围

指标 v1:热度 40 分(40 × log10(Star + 1) / 6,四舍五入,上限 40);维护活跃度 40 分(最近提交在 30/90/180/365 天内分别为 40/30/15/5 分,更久或仓库归档为 0);识别到 SPDX 许可证 20 分。指标用于观察热度、维护时间与许可透明度,不是用户评分或功能实测,不能说明安全性、效果或商业适用性。Fork 仅展示,不参与打分。

本项目分项:热度 28,活跃度 40,许可透明度 20。缺失许可不等于没有许可,请核对原仓库。

能做什么

  • 提供进程内向量索引:TurboQuantIndex 接收二维 float32 向量数组((n, dim)),支持添加向量并检索最近邻,返回内积分数和槽位索引。
  • 使用 Google Research 的 TurboQuant 方法,将每个维度以 2 或 4 bit 存储并直接在此压缩形式上搜索。
  • IdMapIndex 使用调用方自己的 uint64 id 作为键,支持按 id 删除(O(1))以及按 allowlist 过滤搜索结果。
  • 支持增量持久化:sync(path) 只写入上次调用后变化的部分;load() 可读取 sync 或 write 产生的文件。
  • 提供 LangChain、LlamaIndex、Haystack、Agno 的集成包(通过额外依赖安装)。
  • 同一套能力有 Rust API,并可用 cargo add turbovec 引入。

适用场景

  • 需要在本地进程中完成向量相似度检索,且希望减少内存占用。
  • 需要在线增删向量、不希望有训练或重建步骤的场景。
  • 需要按外部 id 列表(如权限、时间窗口、SQL 条件筛出的 id)过滤搜索结果的场景。
  • 在 Python 或 Rust 项目中接入现有 RAG 框架的向量存储。

使用条件与限制

  • 这是一个库而非服务:没有网络 API、复制或多租户服务能力。
  • 搜索会扫描所有向量,成本随语料规模线性增长;项目自身说明,面对数亿级向量和严格延迟要求时更适合使用 HNSW 或 IVF 等图/倒排索引。
  • 量化是有损的,不能保证精确浮点结果;项目建议在自己的数据样本上检查召回率。
  • 维度必须是 8 的倍数且不超过 16,384;bit 宽度仅支持 2 和 4。
  • 输入要求二维 float32 数组,其他 dtype 会报错而非静默转换;分数是内积,如需余弦相似度需自行归一化向量。

来源与收录说明

AI 整理,已通过独立来源审核,收录于 2026-10-19。资料整理不代表运行实测,具体功能与使用条件以官方说明为准。

https://github.com/ryancodrai/turbovec ↗

这个项目对你有帮助吗?

点赞由服务器记录,收藏保存在当前浏览器