阿里开源Zvec:向量数据库界的SQLite,边缘设备也能跑高性能本地RAG

新技术5天前发布 小马良
4 0

阿里巴巴通义实验室正式开源嵌入式向量数据库 Zvec,这款进程内向量数据库被定位为“向量数据库领域的 SQLite”——无需依赖任何外部服务或守护进程,直接以库的形式运行在应用程序内部,专为笔记本电脑、移动设备、边缘设备等资源受限硬件设计,可高效支撑设备端的检索增强生成(RAG)、语义搜索、智能体等工作负载。

  • 官方介绍:https://zvec.org/en/blog/introduction/
  • GitHub:https://github.com/alibaba/zvec

相较于传统向量数据库方案,Zvec 精准填补了边缘场景的空白:许多应用需要向量搜索和元数据过滤能力,但无需部署独立的向量数据库服务,而服务器级别的向量数据库对桌面、移动等轻量场景来说过于笨重,Zvec 则以 SQLite 式的轻量嵌入式形态,完美适配这类本地运行的需求。

阿里开源Zvec:向量数据库界的SQLite,边缘设备也能跑高性能本地RAG

核心特性

  1. 定位:嵌入式进程内向量数据库,“向量数据库界的 SQLite”,适配边缘/设备端 RAG 场景;
  2. 底层:基于阿里 Proxima 高性能向量检索引擎构建,Apache 2.0 开源,支持多系统和 Python 版本;
  3. 性能:VectorDBBench 测试达 8000+ QPS,超 ZillizCloud 2 倍,索引构建时间更短;
  4. 资源治理:支持 64 MB 流式写入、可选 mmap 模式、实验性内存限制(memory_limit_mb),可配置并发数、优化线程数、查询线程数,精准控制 CPU 资源;
  5. RAG 适配:完整 CRUD、模式演进、多向量检索、内置重排序、混合搜索等能力全覆盖。

为什么边缘场景需要嵌入式向量搜索?

检索增强生成(RAG)和语义搜索流程的核心需求,远不止“向量索引”这么简单:它需要同时支持向量存储、标量字段管理、完整的 CRUD(创建、读取、更新、删除)操作,以及数据安全持久化——毕竟本地知识库会随文件、笔记、项目状态的变化持续更新,对数据一致性和可靠性要求极高。

而现有方案均无法完全适配边缘场景:

  • Faiss 等索引库仅能提供近似最近邻搜索,不支持标量存储、崩溃恢复或混合查询,开发者需自行搭建存储和一致性层;
  • DuckDB-VSS 等嵌入式扩展虽为 DuckDB 增加了向量搜索能力,但索引和量化选项少,对边缘场景的资源控制能力弱;
  • Milvus、云托管向量数据库等服务型方案,需要网络调用和独立部署,对设备端工具而言“大材小用”,且增加了部署和使用成本。

Zvec 正是针对这些痛点量身定制:它提供原生支持向量的引擎,内置持久化、资源治理能力,且针对 RAG 场景做了专属优化,整体以轻量级库的形式交付,完全适配边缘设备的使用场景。

核心架构:进程内运行,基于阿里成熟引擎Proxima构建

Zvec 的核心特性是“进程内嵌入式执行”和“向量原生”,整体架构简洁且高性能:

  1. 无外部依赖:用户可通过 pip install zvec 直接安装,在 Python 进程内即可打开数据集(Collection),无需部署外部服务器或搭建 RPC 层,通过简单的 Python API 就能完成模式定义、文档插入、查询运行等全流程操作;
  2. 底层引擎可靠:基于阿里巴巴集团内部久经考验、生产级别的高性能向量检索引擎 Proxima 构建,Zvec 对其进行了 API 简化和嵌入式运行时封装,保证了核心能力的稳定性和性能;
  3. 开源且兼容广泛:采用 Apache 2.0 开源许可证,目前支持 Linux x86_64、Linux ARM64、macOS ARM64 系统,适配 Python 3.10 至 3.12 版本;
  4. 设计目标明确:聚焦进程内嵌入式执行、原生向量索引与存储、生产级持久化和崩溃安全性,适配边缘设备、桌面应用、零运维部署等场景。

开发者上手:5步完成本地语义搜索

Zvec 提供了极简的开发者工作流,从安装到实现语义搜索仅需5个核心步骤:

  1. 安装依赖包
    pip install zvec
    
  2. 定义数据集模式:通过 CollectionSchema 定义一个或多个向量字段,以及可选的标量字段;
  3. 创建/打开数据集:调用 create_and_open 方法,在本地磁盘创建或打开数据集;
  4. 插入文档数据:将包含 ID、向量、标量属性的 Doc 对象插入数据集;
  5. 构建索引并查询:构建向量索引后,运行 VectorQuery 检索最近邻,结果会以包含 ID 和相似度分数的字典形式返回。

这套流程足以让开发者在任意嵌入模型之上,快速搭建本地语义搜索或 RAG 检索层,无需关注复杂的底层部署逻辑。

性能表现:8000+ QPS,超ZillizCloud 2倍

Zvec 针对 CPU 场景做了深度优化,采用多线程、缓存友好的内存布局、SIMD 指令、CPU 预取等技术,兼顾高吞吐量和低延迟。

阿里开源Zvec:向量数据库界的SQLite,边缘设备也能跑高性能本地RAG

在 Cohere 1000 万数据集的 VectorDBBench 基准测试中,Zvec 表现亮眼:在硬件配置和召回率相同的前提下,Zvec 的查询吞吐量超过 8000 QPS,是此前排行榜第一名 ZillizCloud 的 2 倍以上,同时索引构建时间也显著缩短。这一数据证明,嵌入式向量数据库在大规模相似性搜索场景下,也能达到云级别的性能表现。

RAG 专属能力:一站式满足设备端检索需求

Zvec 的功能集完全围绕 RAG 和智能体检索场景设计,覆盖全流程需求:

  • 完整 CRUD 支持:满足本地知识库随时间更新的需求,数据增删改查全兼容;
  • 模式演进:可灵活调整索引策略和字段结构,适配业务需求变化;
  • 多向量检索:支持组合多个嵌入通道的查询结果,提升检索准确性;
  • 内置重排序器:提供加权融合、倒数排名融合(RRF)等重排序能力,优化检索结果;
  • 标量-向量混合搜索:将标量过滤器融入索引执行路径,还可为标量属性配置倒排索引,支持用户、时间、类型等多维度过滤。

借助这些能力,开发者可在单个嵌入式引擎中,快速构建设备端智能助手,同时融合语义检索、多维度标量过滤、多嵌入模型调用等能力。

未来生态规划

Zvec 团队已明确后续生态路线图,计划对接 LangChain、LlamaIndex 等主流 RAG 框架,适配 DuckDB、PostgreSQL 等数据库,并针对实际设备部署场景做进一步优化,持续完善边缘设备的向量检索生态。

© 版权声明

相关文章

暂无评论

none
暂无评论...