zvec
阿里开源的嵌入式向量数据库,毫秒级检索数十亿向量,支持 Python/Node.js/Flutter
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
阿里开源的嵌入式向量数据库,毫秒级检索数十亿向量,支持 Python/Node.js/Flutter
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你问 ChatGPT「上周五的会议纪要里提到的那个供应商,叫什么名字来着?」它居然真的翻出了那篇文档,还准确指出了是哪一页。
这背后靠的不是魔法,而是一个关键基础设施——向量数据库。它把文字、图片、语音全部转化为数学向量(本质上是一串数字),然后通过比较向量之间的「距离」来判断内容是否相关。搜索「猫」时,系统找的是数值上最接近「猫向量」的那些文档——这和传统关键词匹配完全是两码事。
而在众多向量数据库中,有一个来自阿里巴巴的项目正在低调崛起,它的名字叫 Zvec。2025年12月开源,至今已斩获超过 9700 颗 GitHub Stars,近半年增长势头惊人,在开源向量数据库赛道中名列前茅。
Zvec 并非学术实验品。它最初诞生于阿里巴巴集团内部,经历了双十一等超大规模流量场景的检验——峰值查询 QPS 高、向量规模动辄数十亿。这种「在战火中成长」的血统,让 Zvec 从一开始就不是一个玩具级项目。
作者为项目建立了独立品牌 zvec.org,配备了完整的多语言文档、Discord 社区和路线图规划。2026年5月刚发布的 v0.4.0 还新增了 Dart/Flutter SDK,正式支持 Android 和 iOS 移动端,将触角伸向了端侧 AI 场景。
从 GitHub 提交记录来看,项目维护极为活跃——最近一次提交就在2026年5月29日,不到两天前,团队正在推进多向量查询和重排序逻辑的 C++ 迁移工作。这种高频迭代节奏在企业级开源项目中相当罕见。
如果说传统数据库是按字母顺序排列的字典(只能精确查找),那么向量数据库就是一张布满坐标点的地图——每个点是一个文档,按语义相似度分布在全球各地。当用户提问时,系统在地图上找到与你提问最「近」的多个点,返回对应文档。
Zvec 的特色在于:它不是一个独立的服务器进程,而是一个直接嵌入你应用程序的库(in-process)。这就像给你的笔记本应用加了一个超级大脑——不需要额外部署数据库服务器,笔记本打开就能用,关闭数据还在本地,完美适配 RAG(检索增强生成)这类需要快速向量检索的 AI 应用场景。
Zvec 在底层实现了 HNSW(Hierarchical Navigable Small World) 图索引算法——这是当前向量检索领域最流行的近似最近邻(ANN)算法。相比暴力搜索,HNSW 通过构建多层跳跃式导航图,将查询时间从 O(N) 降低到 O(log N),在十亿级向量规模下依然能保持毫秒级响应。
代码中 src/core/algorithm/ 目录下实现了完整的 HNSW 逻辑,配合 src/core/quantizer/ 中的量化器(SQ8 等),可以在精度与性能之间灵活权衡。对于追求极致内存占用的场景,量化后的向量仅需原始空间的 1/4 存储空间。
传统向量数据库大多只支持稠密向量(dense),而 Zvec 原生支持**稀疏向量(sparse)**检索。稠密向量擅长捕捉语义相似性(如「狗」≈「宠物」),稀疏向量则擅长关键词精确匹配(如「狗 疫苗 接种」)。两者结合的混合检索,能够同时满足语义理解和关键词精准的双重需求,这在 RAG 场景中尤为关键。
进程内运行的数据库最怕什么?进程崩溃导致数据丢失。Zvec 实现了 WAL(Write-Ahead Logging)预写日志机制——每次写入操作先记录到日志再落盘,即使程序意外终止,重启后也能完整恢复数据,不会出现「数据凭空消失」的噩梦。
Zvec 目前提供三大官方 SDK:
此外还提供了纯 C API 绑定,可嵌入嵌入式设备和边缘计算场景,平台覆盖 Linux(x86_64/ARM64)、macOS(ARM64)和 Windows(x86_64)。
作者在 README 中承诺「一分钟上手」,实测所言非虚:
import zvec
# 定义 Schema,创建 Collection
schema = zvec.CollectionSchema(name="docs", vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 768))
collection = zvec.create_and_open(path="./my_db", schema=schema)
# 插入文档
collection.insert([zvec.Doc(id="doc_1", vectors={"embedding": [0.1]*768})])
# 向量检索
results = collection.query(zvec.VectorQuery("embedding", vector=[0.2]*768), topk=5)
安装只需要 pip install zvec,无需启动 Docker、不需要写 YAML 配置、不需要运维知识。Python 3.10~3.14 全版本兼容,Windows/macOS/Linux 三大平台通吃。
底层代码在 src/db/ 中实现了完整的 Collection 管理、Index 构建和 SQL 引擎,在 src/binding/python/ 中通过 pybind11 暴露了 Pythonic 的 API 接口,开发体验与原生 Python 库无异。
Zvec 作为一个相对年轻的项目(2025年12月开源),在某些方面仍有成长空间:
写入并发受限:当前写入模式为单进程独占,多进程并发写入同一 Collection 暂不支持。对于需要高并发写入的生产场景(如实时数据采集管道),可能需要额外的架构设计。
无原生分布式支持:项目聚焦于单机场景,没有内置分片和集群机制。对于需要横向扩展到数百亿向量规模的场景,当前架构存在瓶颈。
生态仍在完善:相比 Milvus、Qdrant 等成熟项目,Zvec 的周边工具(如可视化管理界面、监控告警体系)还在建设中,依赖文档自助排查。
2024-2025年是向量数据库爆发年,Milvus、Qdrant、Pinecone 相继拿到大额融资,各路云厂商纷纷入场。在此背景下,Zvec 的出现代表了一个重要趋势——嵌入式向量引擎正在走向主流。
大型向量数据库(Milvus、Weaviate)适合企业级大规模部署,而嵌入式方案(Zvec、ChromaDB)则更适合开发者个人项目、SaaS 应用和边缘设备。Zvec 的优势在于:它同时拥有接近大型数据库的性能水平(得益于 HNSW + 量化优化)和嵌入式方案的部署便捷性。
从增长曲线来看,Zvec 9700+ Stars 的背后,既有阿里品牌背书的信任度,也有扎实的技术指标作为支撑。随着 v0.4.0 对移动端和大规模召回场景的加强,其适用范围正在快速扩张。
图1:Zvec 10M 向量规模性能基准测试
图2:加入社区,扫码获取帮助

本报告基于 GitHub 仓库 v0.4.0 版本(2026年5月9日)生成,数据来源:GitHub API、官方文档及 README。