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使用调用方自己的uint64id 作为键,支持按 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 ↗