turbovec

用 Rust 和量化技术,让向量搜索又快又省内存

turbovec 是一个基于 TurboQuant 构建的向量索引库,使用 Rust 编写并提供 Python 绑定。它旨在解决大规模向量检索场景下的性能瓶颈问题,通过量化技术和优化的索引结构,在保证召回精度的同时显著提升搜索速度和降低内存占用。核心能力包括高效的向量索引构建、快速的近似最近邻搜索、支持多种距离度量方式,以及与 Python 生态的无缝集成。项目适合需要高性能向量检索的应用,如推荐系统、语义搜索、图像检索等场景。

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 17225
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类搜索知识
开发团队RyanCodrai
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型ann,avx512,embedding,embeddings,faiss,nearest-neighbor,neon,python,quant,quantization,rag,rust,simd,turboquant,vector-search
GitHub 星标★ 17225
30天Star增速
HF 下载量
上线时间2026-03-26 00:00:00
最近更新2026-09-22 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 3 环境(README 全部命令均使用 python3)
  • 项目为 Rust 编写、提供 Python 绑定,仓库源码需可访问
  • 可联网下载基准数据集(GloVe、OpenAI DBpedia)
  • 按 CPU 架构区分脚本:ARM(NEON)与 x86(AVX-512/AVX2)
  • 磁盘空间用于存放下载的数据集与 benchmarks/results/ 结果文件

安装与启动步骤

  1. 1克隆仓库

    把 turbovec 源码仓库克隆到本地,README 的基准脚本都放在仓库内的 benchmarks 目录下。

    git clone https://github.com/RyanCodrai/turbovec.git
  2. 2进入项目目录

    切换到仓库根目录,后续所有 python3 命令都要在根目录执行,否则相对路径会找不到。

    cd turbovec
  3. 3下载数据集

    下载基准测试所需数据。glove 为 d=200,openai-1536 与 openai-3072 为 OpenAI DBpedia。

    python3 benchmarks/download_data.py all
  4. 4跑单个基准

    benchmarks/suite/ 下每个脚本都是自包含的,可单独执行;按架构选择 arm 或 x86 脚本。

    python3 benchmarks/suite/speed_d1536_2bit_arm_mt.py
  5. 5按类别批量跑

    用 shell 循环跑同类脚本:ARM 速度、x86 速度、召回率各一组,注意先用 cd 回到仓库根目录。

    for f in benchmarks/suite/recall_*.py; do python3 "$f"; done
  6. 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

项目介绍

turbovec 是基础设施领域的开源项目,由 RyanCodrai 开发,是 2026 年新上线的项目。

在全站 13,090 个收录项目中,它的 GitHub 星标数(17,225)位列前 3%,在基础设施分类的 1,132 个项目里位列前 4%。

近 41 天,它的 GitHub 星标从 14,740 增加到 17,225,净增 2,485。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:大规模语义搜索与推荐系统。同类可对比的替代方案包括 FAISS、HNSWlib、Milvus。

上一篇:zvec

下一篇:EverOS

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09