每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite 引言“向量数据库的 SQLite——嵌进应用里跑不需要外部服务器。”这是每日一个开源项目系列的第134篇文章。今天的主角是Zvec——阿里巴巴通义实验室开源的进程内向量数据库。构建 RAG 应用时向量数据库是绕不开的一环。但传统向量数据库的部署方式是外部服务Pinecone 是云服务Milvus/Qdrant/Weaviate 是独立服务器。这意味着每个应用都要维护一个额外的基础设施组件有网络调用开销有运维负担在 Notebook 或者边缘设备上根本跑不起来。Zvec 的设计方向是向量数据库的 SQLitepip install zvec进程内运行没有 daemon没有网络调用没有服务器配置。底层是阿里巴巴在生产环境经过验证的 Proxima 向量搜索引擎。v0.5.02026 年 6 月加入了原生全文检索和混合查询从纯向量搜索工具变成了可以替代多个基础设施组件的综合检索引擎。你将学到什么进程内向量数据库的设计取舍为什么 in-process 在很多场景比独立服务更合适Zvec 的索引类型HNSW、FAISS、DiskANN、稀疏向量各自适用什么场景v0.5.0 的混合查询如何把向量搜索 全文检索 标量过滤合并进一个查询DiskANN 索引如何把十亿规模的向量数据库装进内存有限的机器性能数据VectorDBBench 上的实测 QPS 和与 Pinecone 等的对比五种语言 SDK 的覆盖从服务端到移动端的全链路支持前置知识了解向量嵌入和相似度搜索的基本概念有 RAG 应用开发或向量数据库使用经验熟悉 Python其他语言 SDK 了解即可项目背景项目简介Zvec 是一个开源的进程内向量数据库定位是轻量、极速、直接嵌入应用。底层基于 Alibaba Proxima 引擎——阿里内部大规模图像搜索和推荐系统的生产级向量搜索基础。进程内in-process是关键词。向量搜索发生在应用进程内部和 SQLite 对关系数据的处理方式一样不经过网络不依赖外部守护进程。作者/团队介绍团队: 阿里巴巴通义实验室Tongyi Lab底层引擎: Alibaba Proxima阿里内部生产级向量搜索引擎License: Apache-2.0最新版本: v0.5.02026年6月项目数据⭐ GitHub Stars:10,500 Forks: 607 首次发布: 2025年12月 License: Apache-2.0主要功能核心作用传统方式外部服务 应用进程 → 网络请求 → 向量数据库服务 → 返回结果 ↓ 延迟增加 运维负担 不适合边缘场景 Zvec进程内 应用进程 └── Zvec 库进程内 ├── 向量索引内存/磁盘 ├── 全文索引v0.5.0 └── 标量过滤 直接返回结果无网络开销使用场景本地 RAG 应用在笔记本或边缘设备上构建不依赖云服务的 RAG 系统Notebook 原型数据科学工作流中直接使用不需要配置外部服务移动端 AIDart/Flutter SDK 支持 Android 和 iOS 上的设备端向量搜索生产服务嵌入把向量搜索能力直接嵌进 Python/Go/Rust 服务减少基础设施组件Agent 知识库通过 MCP 集成v0.3.0为 AI Agent 提供本地向量记忆快速开始安装pipinstallzvec# 带 Zvec Studio 可视化工具pipinstallzvec-studio基础用法importzvec# 定义 Schemaschemazvec.CollectionSchema(namearticles,vectorszvec.VectorSchema(embedding,zvec.DataType.VECTOR_FP32,1536),fields[zvec.FieldSchema(title,zvec.DataType.STRING),zvec.FieldSchema(content,zvec.DataType.STRING),zvec.FieldSchema(score,zvec.DataType.FLOAT),])# 创建并打开 Collectioncollectionzvec.create_and_open(path./my_rag_db,schemaschema)# 插入文档collection.insert([zvec.Doc(iddoc_1,vectors{embedding:[0.1,0.2,...]},# 1536 维向量fields{title:AI 基础,content:...,score:9.5})])# 纯向量搜索resultscollection.query(zvec.VectorQuery(embedding,vectorquery_embedding),topk10)混合查询v0.5.0# 同时用向量相似度 全文检索 标量过滤resultscollection.query(zvec.MultiQuery(queries[zvec.VectorQuery(embedding,vectorquery_embedding,weight0.7),zvec.FTSQuery(content,text机器学习,weight0.3),],filterscore 8.0,# 标量过滤fusionzvec.FusionType.RRF# Reciprocal Rank Fusion 融合排序),topk10)全文检索# 为字段创建全文索引collection.create_index(content,zvec.IndexType.FULL_TEXT)# 纯全文搜索resultscollection.query(zvec.FTSQuery(content,text向量数据库),topk10)Node.jsimport{createCollection,VectorQuery}fromzvec/zvec;constcollectionawaitcreateCollection({path:./my_db,schema:{name:docs,vectors:{embedding:{dim:1536}}}});constresultsawaitcollection.query(newVectorQuery(embedding,queryVector),{topk:10});多语言 SDK语言安装适用场景Pythonpip install zvec数据科学、RAG 服务、NotebookNode.jsnpm install zvec/zvecWeb 后端、全栈应用Gogo get github.com/alibaba/zvec-go高性能后端服务Rustcrates.io:zvec系统级应用、性能敏感场景Dart/Flutterflutter pub add zvecAndroid / iOS 移动端项目详细剖析进程内架构的取舍Zvec 的核心设计决策是放弃客户端-服务器架构选择进程内嵌入。这个选择有具体的代价和收益收益零网络延迟向量搜索发生在内存或本地磁盘没有网络往返零运维负担不需要部署、监控、升级向量数据库服务可移植性应用二进制 数据文件可以部署到任何有文件系统的地方边缘/移动端可用Dart SDK 支持 Android/iOS 上的设备端推理代价不支持多服务共享同一个向量库单进程写多进程只读无法跨网络访问这是架构本身决定的不是缺陷对于大多数 RAG 应用原型、边缘部署、单服务架构这个权衡是合理的。需要多副本、分布式查询的场景用 Milvus 或 Qdrant 更合适。索引类型HNSWHierarchical Navigable Small World默认索引基于图结构的近似近邻搜索。适合内存充足、需要最高查询速度的场景。查询时间对数级别建索引时间较长。FAISSFacebook AI Research 开源的向量搜索库接口。多种量化策略IVF、PQ在精度和速度之间灵活权衡。DiskANNv0.5.0 新增把向量索引存在磁盘而非内存大幅降低内存需求。名称来自微软研究院的 DiskANN 论文。十亿规模向量在普通服务器上可用代价是查询延迟略高于纯内存索引。稀疏向量支持 BM25、SPLADE 等稀疏表示的向量存储和检索适合关键词语义的混合检索场景。混合查询设计v0.5.0 的混合查询把三类检索整合进一个MultiQuery接口MultiQuery ├── VectorQuery密集向量相似度 │ └── 适合语义相似性匹配 ├── FTSQuery全文检索 │ └── 适合关键词精确匹配 └── ScalarFilter标量过滤 └── 适合结构化条件筛选日期、分数、类别 融合排序Fusion ├── RRFReciprocal Rank Fusion——推荐平衡多路结果 └── Weighted加权融合——可调节各路权重这个设计的实用价值在于真实的 RAG 查询通常不是纯向量相似度——用户经常需要语义上相关 包含特定关键词 最近一个月的文档这类组合条件。把这三个条件分成三个独立查询再手动合并排序代价高且结果次优MultiQuery RRF 在一次查询里处理。性能数据在 VectorDBBenchCohere 10M 数据集768 维1000 万向量测试中Zvec 实测8,000 QPS超过当时排行榜第一名ZillizCloud的 2 倍以上自报告数据查询速度超过 Pinecone 约 7 倍底层性能来源SIMD 指令向量距离计算利用 AVX-512/AVX2现代 CPU 单次指令处理 16 个 float32多线程建索引和查询都充分利用多核缓存友好的内存布局减少 CPU 缓存 missRabitQ 量化v0.3.0在精度损失极小的前提下压缩向量存储版本演进速度Zvec 从 2025 年 12 月首次发布到现在半年内发布了 6 个主要版本版本时间核心变化v0.1.02025年12月初始发布HNSW 基础功能v0.2.02026年2月ARM64 Linux统一搜索接口v0.3.02026年4月Windows 支持RabitQ 量化MCP/Agent 集成v0.4.02026年5月Dart/Flutter SDKAndroid/iOS 支持v0.5.02026年6月全文检索混合查询DiskANNGo/Rust SDKZvec StudioMCP 集成v0.3.0是一个有意思的方向AI Agent 可以直接通过 MCP 协议访问 Zvec 中的向量记忆不需要额外的适配层。Zvec Studiopip install zvec-studio安装后可以用可视化界面浏览 Collection、执行查询、调试向量搜索结果不需要写代码。对于 RAG 应用的调试和数据探索很实用。项目地址与资源官方资源GitHub: alibaba/zvec官网: zvec.org文档: zvec.org/en/docsBenchmark: zvec.org/en/docs/db/benchmarks/相关项目Zvec Studio:pip install zvec-studio可视化管理工具zvec-go: Go SDKzvec-rust: Rust SDKAlibaba Proxima: Zvec 底层的生产级向量搜索引擎总结Zvec 的定位很清晰把生产级向量搜索能力以嵌入库的形式提供消灭向量数据库的部署和运维复杂度。“SQLite of vector databases这个类比准确SQLite 让关系数据库从需要配置服务器变成了一个文件随处可用”Zvec 在向量搜索领域做了同样的事。v0.5.0 加入的混合查询把向量相似度 全文检索 标量过滤合并进一个接口对 RAG 应用来说意义很实在——真实查询往往就是这三类条件的组合过去需要三个独立系统向量库 搜索引擎 数据库完成的工作现在在一个进程内的嵌入库里搞定。Dart SDK 支持 Android/iOS 是另一个值得关注的方向设备端 RAG 不再需要把向量搜索请求发回服务器。10.5k Stars半年内 6 个主要版本项目处于快速迭代阶段值得持续关注。探索 PrimeSkills —— 精选 AI Agent 与技能的市场每一个都经过真实企业工作流验证去掉浮夸留下真正有用的。欢迎访问我的个人主页发现更多有价值的见解和有趣的产品。