免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

9.7k Stars,阿里内部跑了几年的向量数据库开源了,不用起服务,import 就能用

发布日期:2026-07-14 08:24:34 浏览次数: 1759
作者:开源小聪明

微信搜一搜,关注“开源小聪明”

推荐语

轻量级 RAG 应用福音!阿里开源的进程内向量数据库 Zvec,无需部署服务,import 即用,性能不打折。

核心内容:
1. 轻量级向量数据库 Zvec 的定位与适用场景
2. 官方基准测试展示的千万级向量检索性能
3. 五行代码快速上手的简易使用示例

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
做 RAG 应用,向量数据库这一步大多数人会想到部署 Milvus 或者起一个 Qdrant 容器。

但很多场景其实不需要这么重。本地跑个 Agent 的记忆库、笔记软件的语义搜索、移动端 App 的离线检索——这些场景里,专门起一个数据库服务、维护一套部署、处理网络延迟,是杀鸡用牛刀。

Zvec 是阿里巴巴开源的进程内向量数据库,不需要起服务,pip install 之后直接在代码里 import 用,和 SQLite 之于关系型数据库是同一个定位。在阿里内部生产环境里跑了一段时间之后才开源出来。


先看性能数据

这是官方用 VectorDBBench(向量数据库社区广泛采用的开源基准测试框架)跑出的 Cohere 1000 万条 768 维向量的测试结果:



横轴是并发数,纵轴是每秒查询数(QPS)。这是在单台 16 核 64GB 内存的机器上跑出来的结果,没有依赖额外的存储或网络服务。

召回率(搜索结果的准确度)同步测量:



千万级向量,毫秒级检索,这两张图加在一起说明的是:进程内架构不代表性能妥协。


五行代码,从零开始一个向量库

import zvec

# 定义 collection schema
schema = zvec.CollectionSchema(
    name="example",
    vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)

# 创建 collection,本地文件存储
collection = zvec.create_and_open(path="./zvec_example", schema=schema)

# 插入文档
collection.insert([
    zvec.Doc(id="doc_1", vectors={"embedding": [0.10.20.30.4]}),
    zvec.Doc(id="doc_2", vectors={"embedding": [0.20.30.40.1]}),
])

# 按向量相似度搜索
results = collection.query(
    zvec.VectorQuery("embedding", vector=[0.40.30.30.1]),
    topk=10
)

没有连接字符串,没有起服务,没有等待网络往返。./zvec_example 是本地一个目录,关掉进程数据还在,下次打开继续用。


让 Agent 帮你接进项目

直接告诉你的 Claude Code 或 Cursor:

帮我在这个 Python 项目里集成 Zvec 作为本地向量库,
用来存储文档的 embedding,支持语义搜索和过滤检索。
Schema 设计:每个文档需要 id、embedding 向量、和一个 source 字段用于过滤。
参考文档:https://zvec.org/en/docs/db/quickstart/

Node.js 项目:

帮我用 @zvec/zvec 给这个 Node.js 项目加一个本地向量存储,
不需要起 Docker,直接 npm install 用,
用来做 RAG 应用的文档检索

Agent 会处理好 schema 设计、安装依赖、写好增删改查的封装代码。


稀疏向量和稠密向量,一次查询里混着用

这是 Zvec 比很多同类工具更完整的地方——原生支持混合检索(Hybrid Search),不需要外接关键词搜索引擎再做结果合并。

稠密向量(Dense Vector)抓的是语义相似度——"猫"和"小猫"在向量空间里离得近。稀疏向量(Sparse Vector)类似传统的关键词检索——专有名词、产品型号这类精确匹配场景,稠密向量反而不如关键词准。

Zvec 支持在一次查询里同时用结构化过滤条件(比如按时间、来源筛选)加向量相似度排序,不需要先用 SQL 过滤再单独调向量搜索拼接结果。


WAL 保证数据不丢,多进程能同时读

进程内数据库最让人担心的事情是:进程崩了,数据是不是就没了?

Zvec 用 Write-Ahead Logging(预写日志)保证持久性——写操作先落日志再生效,进程崩溃或断电后重启,数据可以从日志恢复,不会丢。

并发模型是"多读单写":多个进程可以同时打开同一个 collection 做查询,但写入操作是单进程独占的。这个设计和大多数嵌入式数据库(SQLite 也是类似模式)一致,适合"一个进程写、多个进程读"的场景,比如一个后台任务在更新索引,多个 API 进程在提供查询服务。


哪里都能跑

作为进程内库,Zvec 的运行环境就是你代码运行的环境——不需要额外部署:

  • Jupyter Notebook:数据科学场景,装完直接在 notebook 里跑实验
  • CLI 工具:命令行小工具里嵌入语义搜索,不依赖外部服务
  • 服务端:和应用进程一起部署,减少一个网络跳数
  • 边缘设备:v0.4.0 刚加上了 iOS 和 Android 的官方 SDK 支持

Dart/Flutter 的官方 SDK 也在 v0.4.0 里发布了,FFI 绑定打包好了 Android(arm64-v8a)和 iOS(arm64)的预编译版本,不需要手动编译 native 代码——这意味着可以直接在手机 App 里做本地语义搜索,完全离线。


安装

# Python(3.10–3.14)
pip install zvec

# Node.js
npm install @zvec/zvec

支持平台:Linux(x86_64、ARM64)、macOS(ARM64)、Windows(x86_64)。源码编译支持更多平台,包括 iOS 和 Android。


几个真实的不足

单机单进程写入是设计限制,不是 bug

如果你的场景需要多个进程同时写入同一份数据(比如分布式爬虫往同一个向量库灌数据),Zvec 的"单写"模型会成为瓶颈。这种场景适合 Milvus 或 Qdrant 这类客户端-服务端架构的数据库,不是 Zvec 的目标场景。

没有内置的分布式能力

Zvec 的定位就是单机进程内库,没有分片、没有副本、没有跨机器的数据分布。数据量大到单机内存放不下,或者需要高可用容灾,需要换方案。

生态和工具链还在早期

v0.4.0,7 个正式发布版本,相比 Milvus、Qdrant、Chroma 这些更早进入市场的项目,集成生态(LangChain、LlamaIndex 这类框架的官方适配器)还不够丰富,遇到问题能搜到的资料相对少。

topK 上限调整是最近才放开的

v0.4.0 才放宽了 topK 的上限限制,用来支持更大规模的召回场景。如果你用的是更早的版本,大批量召回可能会遇到限制,建议直接升级到最新版。


总结

Zvec 解决的问题很具体:不是所有需要向量搜索的场景都需要一个独立部署的数据库服务。

本地 Agent 的记忆系统、笔记软件的语义搜索、移动端离线检索、Jupyter 里的实验原型——这些场景起一个 Milvus 集群是过度设计,用进程内库 import 一下就够。

阿里内部生产验证过,C++ 核心保证性能,Python/Node.js/Dart 三端 SDK 覆盖了大多数应用场景,混合检索和 WAL 持久化也都到位。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅