
turbovec
用 Rust 和量化技术,让向量搜索又快又省内存
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 17486
技术标签
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- Python 3 环境(README 全部命令均使用 python3)
- 项目为 Rust 编写、提供 Python 绑定,仓库源码需可访问
- 可联网下载基准数据集(GloVe、OpenAI DBpedia)
- 按 CPU 架构区分脚本:ARM(NEON)与 x86(AVX-512/AVX2)
- 磁盘空间用于存放下载的数据集与 benchmarks/results/ 结果文件
安装与启动步骤
-
1克隆仓库
把 turbovec 源码仓库克隆到本地,README 的基准脚本都放在仓库内的 benchmarks 目录下。
git clone https://github.com/RyanCodrai/turbovec.git -
2进入项目目录
切换到仓库根目录,后续所有 python3 命令都要在根目录执行,否则相对路径会找不到。
cd turbovec -
3下载数据集
下载基准测试所需数据。glove 为 d=200,openai-1536 与 openai-3072 为 OpenAI DBpedia。
python3 benchmarks/download_data.py all -
4跑单个基准
benchmarks/suite/ 下每个脚本都是自包含的,可单独执行;按架构选择 arm 或 x86 脚本。
python3 benchmarks/suite/speed_d1536_2bit_arm_mt.py -
5按类别批量跑
用 shell 循环跑同类脚本:ARM 速度、x86 速度、召回率各一组,注意先用 cd 回到仓库根目录。
for f in benchmarks/suite/recall_*.py; do python3 "$f"; done -
6生成图表
基准结果以 JSON 形式存放在 benchmarks/results/,用该脚本重新生成图表用于对比展示。
python3 benchmarks/create_diagrams.py
如何确认成功
脚本正常结束无报错,且 benchmarks/results/ 下生成对应 JSON 结果文件,即表示运行成功。
常见问题
Q:怎么安装 turbovec 库?
A:本次 README 节选只给出基准测试说明,未包含安装步骤。README 顶部带有 PyPI 与 crates.io 徽章,说明已通过这两个渠道分发,请以官方 README 的安装章节为准。
Q:ARM 和 x86 脚本怎么选?
A:在 Apple Silicon/ARM 服务器上跑 speed_*arm*.py,在 x86 机器上跑 speed_*x86*.py;脚本文件名已标出架构,混跑会走不到对应的 SIMD 内核。
Q:数据集只想要一个怎么办?
A:download_data.py 支持单数据集参数,例如 python3 benchmarks/download_data.py glove 只下 GloVe d=200,避免下载全部数据集占用大量磁盘。
Q:跑完结果在哪看?
A:结果以 JSON 保存到 benchmarks/results/ 目录,可用 python3 benchmarks/create_diagrams.py 将其渲染成图表。
注意事项
- README 强调这是基于 TurboQuant 的免训练量化索引:向量加入即完成索引,无需 train 步骤和参数调优。
- 支持增量持久化:sync(path) 只写入上次 sync 之后变化的部分,每次约一次 fsync。
- 性能数据来自 README 自述,实测前请先用本机架构对应的基准脚本复现。
- 本次节选未包含安装与 API 用法,落地前请查阅仓库完整 README 与 PyPI 页面。
核心亮点
- 基于 TurboQuant 量化技术,内存占用显著低于传统索引
- Rust 核心实现,搜索性能优于纯 Python 方案
- 提供 Python 绑定,易于集成到现有数据科学工作流
不足之处
- 项目较新,文档和社区生态仍在建设中
- 量化可能带来一定精度损失,需根据场景权衡
适用场景
- 大规模语义搜索与推荐系统
- 内存受限环境下的向量检索
- 需要低延迟响应的在线检索服务
替代项目
FAISS、HNSWlib、Milvus
同类项目推荐
domino-research
开源
拿来即用的企业级数据科学实验管理工具箱
Projects developed by Domino's R&D team
dama
开源
一键容器化部署,快速跑通机器学习自动化流程
a simplified machine learning container platform that helps teams get started with a···
ScalableVectorSearch
开源
用C++打造高性能向量搜索,快速找到相似项。
cube-studio
开源
一套平台搞定 AI 开发、训练、推理全流程,支持国产硬件。
cube studio开源云原生一站式机器学习/深度学习/大模型AI平台,mlops算法链路全流程,算力···
langfuse-mcp
开源
让 AI 代理直接查询 Langfuse 追踪数据,实现自我调试与可观测性。
A Model Context Protocol (MCP) server for Langfuse, enabling AI agents to query Lang···
traccia-py
开源
给 AI Agent 装上黑匣子,追踪、评估、治理一步到位
OpenTelemetry-native SDK for AI agent observability, tracing, evaluation, debugging,···
jangq
开源
把 GGUF 模型搬上 Mac 的 MLX,量化后照样跑得动
JANG — GGUF for MLX. YOU MUST USE JANG_Q RUNTIME. Adaptive Mixed-Precision Quantiza···
claude-devtools
开源
给 Claude Code 装上可视化仪表盘,一眼看透会话、Token 与工具调用
The missing DevTools for Claude Code — inspect session logs, tool calls, token usag···
ttsim
开源
无芯片也能跑 Tenstorrent 全系统仿真
A fast full-system simulator of Tenstorrent hardware