alibaba

zvec

alibaba

Zvec 是阿里巴巴开源的进程内向量数据库,以库的形式直接嵌入应用,提供生产级的低延迟相似度检索,同时支持稠密/稀疏向量、全文检索与混合查询。

v0.8.0
发布于
7 天前
16,129
星标
2,386
下载
同步于
7 天前

最新版本

v0.8.02026年10月21日 12:36
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Zvec 是一个开源的进程内向量数据库,轻量且速度快,设计目标是直接嵌入应用:不启服务、不改配置,装好 SDK 几秒内就能开始检索。它在阿里巴巴集团内部经过大规模生产验证,能在毫秒级完成数十亿向量的相似度搜索,并提供 HNSW、DiskANN、IVF 等多种索引,从内存到磁盘可伸缩。除向量检索外还内置关键词全文检索,可把向量相似度、全文检索和结构化过滤融合在同一条查询里。

项目 内容
语言 C++(Python / Node.js / Go / Rust / Dart SDK)
平台 Linux、macOS、Windows,另有 Android / iOS SDK
索引 HNSW、DiskANN、IVF-RaBitQ 等
许可 Apache-2.0

嵌入即用的向量检索:纯本地、无服务、无配置。

主要功能

  • 毫秒级大规模检索:面向数十亿向量优化,搜索延迟毫秒级
  • 稠密与稀疏向量:支持稠密、稀疏嵌入与多向量查询,索引类型从内存到磁盘可伸缩
  • 全文检索:原生关键词全文搜索,可用自然语言或结构化表达式查询字符串字段
  • 混合查询:向量相似度、全文检索、结构化过滤在一条查询中融合,结果更精准
  • 持久化保障:预写日志(WAL)保证进程崩溃或断电后数据不丢
  • 并发读取:多进程可同时读同一集合,写入单进程独占
  • 随处运行:作为进程内库,笔记本、服务器、CLI 工具甚至边缘设备都能跑

适用人群

  • 构建 RAG 与语义搜索的开发者
  • LLM 应用与 Agent 记忆系统开发者
  • 需要本地嵌入式检索的工程师
  • 推荐系统与相似度搜索开发者

快速上手

  1. 安装 Python SDK:pip install zvec(需 64 位 Python 3.10-3.14)
  2. 定义 schema 并创建集合,插入文档
  3. 用向量执行相似度查询:
import zvec

schema = zvec.CollectionSchema(
    name='example',
    vectors=zvec.VectorSchema('embedding', zvec.DataType.VECTOR_FP32, 4),
)
collection = zvec.create_and_open(path='./zvec_example', schema=schema)
collection.insert([
    zvec.Doc(id='doc_1', vectors={'embedding': [0.1, 0.2, 0.3, 0.4]}),
])
results = collection.query(
    zvec.Query(field_name='embedding', vector=[0.4, 0.3, 0.3, 0.1]),
    topk=10,
)
  1. 其他语言 SDK:Node.js 用 npm install @zvec/zvec,Go / Rust / Dart 参见官方文档

核心优势

  • 零运维:无服务、无配置,库直接嵌入应用随代码部署
  • 生产级验证:在阿里巴巴内部大规模场景长期使用
  • 索引可伸缩:从内存 HNSW 到磁盘 DiskANN,按数据规模选型
  • 多语言生态:Python、Node.js、Go、Rust、Dart/Flutter 官方 SDK 全覆盖

系统要求

项目 要求
操作系统 Linux(glibc/musl)、macOS、Windows
支持架构 x86_64、ARM64
Python 3.10 ~ 3.14(64 位)

注意事项

  • 写入单进程独占:多进程并发只针对读,同一集合的写操作需单进程持有
  • 源码构建:本仓库为 C++ 核心,应用层一般通过各语言 SDK 使用,自行编译参见官方构建指南

历史版本

排序