标签: 全文检索

  • Zvec:阿里开源轻量级进程内向量数据库,一行 pip install 搞定十亿级向量检索

    Zvec:阿里开源轻量级进程内向量数据库,一行 pip install 搞定十亿级向量检索

    📌 项目简介

    Zvec 是阿里巴巴开源的轻量级进程内向量数据库(In-process Vector Database)——无需启动独立服务,直接嵌入你的应用代码中运行。它以闪电般的速度完成数十亿级向量的相似性搜索,同时支持密集向量、稀疏向量、混合检索和全文搜索,是构建 RAG 应用、AI Agent 记忆系统和语义搜索引擎的理想底层引擎。

    经过阿里巴巴集团内部生产环境验证,Zvec 在保持极简部署的同时提供了企业级的低延迟和高吞吐能力。

    ⚙️ 安装要求和过程

    环境要求

    • 操作系统:Linux(x86_64 / ARM64)、macOS(ARM64)、Windows(x86_64)
    • Python 版本:3.10 ~ 3.14(pip 安装方式)
    • Node.js / Go / Rust / Dart:均有官方 SDK 支持

    快速安装(Python)

    # 一行命令安装
    pip install zvec
    
    # 验证安装
    python -c "import zvec; print('Zvec OK')"

    一分钟上手示例

    import zvec
    
    # 定义集合 Schema
    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]}),
        zvec.Doc(id="doc_2", vectors={"embedding": [0.2, 0.3, 0.4, 0.1]}),
    ])
    
    # 向量相似度搜索
    results = collection.query(
        zvec.Query(field_name="embedding", vector=[0.4, 0.3, 0.3, 0.1]),
        topk=10
    )
    print(results)

    📦 其他语言 SDK

    • Node.jsnpm install @zvec/zvec
    • Rustzvec-rust
    • Gozvec-go
    • Dart/Flutterflutter pub add zvec

    🔥 核心功能

    1. 极速检索 —— 十亿级向量毫秒级响应
      基于 HNSW 等高效索引算法,在数十亿向量规模下仍能实现毫秒级延迟的相似度搜索。
    2. 密集 + 稀疏向量双模态支持
      同时支持 Dense Vector(浮点密集向量)和 Sparse Vector(稀疏向量),适配不同 Embedding 模型输出格式。
    3. 原生全文搜索(FTS)
      v0.5.0 新增!可为任意字符串字段附加 FTS 索引,支持自然语言或结构化表达式查询,无需外部搜索引擎。
    4. 混合检索(Hybrid Search)
      单次 MultiQuery 融合向量相似度、全文搜索、标量过滤和多维度排序,返回精确结果。
    5. DiskANN 磁盘索引
      v0.5.0 新增!将大部分索引数据放在磁盘上,大幅降低大规模数据集的内存占用。
    6. 持久化存储(WAL 日志)
      Write-Ahead Logging 保证崩溃安全——即使进程异常退出或断电,数据也绝不丢失。
    7. 多语言生态 + 可视化工具
      官方提供 Python / Node.js / Go / Rust / Dart 五种 SDK,另有 Zvec Studio 图形化管理工具。

    💡 典型使用场景

    场景一:RAG 检索增强生成系统

    将文档切片后的 Embedding 向量存入 Zvec,用户提问时先做语义检索召回相关片段,再送入 LLM 生成回答。Zvec 的本地化特性意味着零网络延迟、零外部依赖,特别适合隐私敏感的企业 RAG 场景。

    场景二:AI Agent 长期记忆

    为 AI Agent 构建持久化的记忆库——将用户交互、偏好、历史决策编码为向量存入 Zvec,Agent 启动时自动加载记忆上下文。WAL 持久化确保记忆永不丢失,混合检索支持按时间、主题、情感等多维度精准回忆。

    场景三:边缘设备 / 本地优先语义搜索

    作为进程内库嵌入到笔记本 App、IoT 设备或 CLI 工具中,实现离线语义搜索能力。无服务端依赖资源占用极小,支持 ARM64 和 RISC-V 架构,从云端到边缘全覆盖。

    ✨ 推荐理由

    用过不少向量数据库后,Zvec 的设计哲学让我印象深刻:“Just Works”——不需要配置服务器、不需要 Docker、不需要外部依赖。一个 pip install zvec 就能开始使用。

    对比同类方案:

    特性 Zvec 传统向量数据库
    部署方式 一行 pip install 独立服务 + 配置集群
    外部依赖 零依赖 Redis/Elasticsearch 等
    全文搜索 内置 FTS 需额外集成 ES
    混合检索 原生支持 需自行编排
    适用场景 RAG / Agent / 本地应用 大规模分布式检索

    v0.5.0 更是加入了全文搜索 + DiskANN + 多语言 SDK三大重磅功能,让 Zvec 从一个纯粹的向量数据库进化为全能型本地搜索引擎。对于正在搭建 RAG 系统、AI Agent 或需要本地语义搜索能力的开发者来说,Zvec 是目前最值得尝试的选择之一。

    🔗 下载地址