标签: 混合检索

  • 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 是目前最值得尝试的选择之一。

    🔗 下载地址

  • Qdrant:用Rust打造的高性能向量数据库,AI检索引擎的新标杆

    Qdrant:用Rust打造的高性能向量数据库,AI检索引擎的新标杆

    🚀 项目简介

    Qdrant 是一个用 Rust 编写的高性能、大规模向量数据库与向量搜索引擎,专为下一代 AI 应用设计。它将向量相似度搜索与丰富的 JSON 元数据处理能力深度融合,是构建 RAG、语义搜索、AI 智能体等应用的理想检索底座。

    GitHub:qdrant/qdrant|Stars:32.5K+|语言:Rust 🦀|许可:Apache 2.0

    ⚙️ 安装要求与过程

    环境要求

    • 最低配置:2 vCPU、4GB RAM(测试环境)
    • 生产推荐:8+ vCPU、16GB+ RAM、SSD 存储
    • 支持平台:Linux / macOS / Windows(Docker)、Kubernetes
    • 客户端支持:Python、JavaScript/TypeScript、Go、Rust、.NET/C#、Java
    • 依赖:Docker(快速启动),或直接从 Release 下载二进制

    快速安装(Docker 方式)

    # 拉取并启动 Qdrant(默认端口 6333)
    docker run -p 6333:6333 qdrant/qdrant
    
    # Python 客户端连接
    pip install qdrant-client
    
    python -c "
    from qdrant_client import QdrantClient
    client = QdrantClient(url='http://localhost:6333')
    print(client.get_collections())
    "

    其他安装方式

    • Qdrant Cloud:注册即用,含免费套餐(cloud.qdrant.io
    • 自托管 Kubernetes:官方 Helm Chart 支持
    • Qdrant Edge:轻量版,可嵌入应用进程,适合边缘设备
    • Hybrid Cloud / Private Cloud:企业级自建云部署方案

    ⭐ 核心功能

    🔍 多向量搜索

    同时支持稠密向量(语义搜索)、稀疏向量(关键词搜索)、多向量(ColBERT 等晚期交互模型),一套引擎覆盖全场景。

    🔀 原生混合检索

    在单次查询中融合稠密与稀疏向量,支持 BM25、SPLADE++、miniCOIL 等多种算法,结果通过 RRF/DBSF 策略智能合并。

    📊 高级元数据过滤

    HNSW 遍历过程中直接应用过滤条件(非后过滤),支持嵌套对象、全文检索、地理位置、has_vector 等丰富过滤类型,高召回低延迟。

    ⚡ 极致性能优化

    Rust + SIMD 指令加速;Scalar/Asymmetric/Binary 量化降低内存占用最高 64 倍;GPU 加速索引(NVIDIA/AMD);io_uring 异步 I/O 最大化磁盘吞吐。

    🏗️ 企业级部署能力

    分布式水平扩展(分片 + 副本);零停机扩缩容;多租户数据隔离;SOC 2 / GDPR 合规;SSO(SAML/OIDC);Prometheus / Grafana / Datadog 监控集成;严格模式磁盘保护;WAL 持久化保证断电不丢数据。

    🏆 典型使用场景

    📚 RAG(检索增强生成)系统

    Qdrant 是 RAG 应用最流行的向量数据库选择之一。将企业文档、知识库切分后存入 Qdrant,用户提问时先向量检索最相关片段,再喂给 LLM 生成答案。Tripadvisor 使用 Qdrant 为数十亿条评论和图片提供 AI 旅行规划检索,收入提升 2-3 倍。
    技术栈:Qdrant + LangChain/LlamaIndex + OpenAI/DeepSeek

    🤖 AI 智能体长期记忆

    AI Agent 需要跨会话持久化记忆,Qdrant 提供高性能向量存储让智能体”记住”历史上下文。Deutsche Telekom 的多智能体平台基于 Qdrant 实现实时上下文检索,支撑 200 万+ AI 驱动对话。
    技术栈:Qdrant + Mem0 + LangChain/CrewAI

    🛍️ 电商语义推荐系统

    传统关键词搜索无法理解用户意图,Qdrant 的向量语义匹配让”类似风格””可以搭配”等模糊需求精准命中。Lyzr 的 AI 智能体平台接入 Qdrant 后,延迟降低 90%、吞吐量提升 150%。支持实时相似度匹配数百万商品,结合元数据过滤实现个性化推荐。
    技术栈:Qdrant + 多模态嵌入模型(CLIP)+ 推荐算法

    💡 推荐理由

    作为一个深度使用过多个向量数据库的开发者,Qdrant 给我印象最深刻的是它的“工程完成度”。以下是我的真实使用体会:

    • 🦀 Rust 带来的安心感:生产环境最怕 OOM 和奇怪的崩溃,Qdrant 用 Rust 编写,内存安全 + 高并发,跑了几个月稳如磐石,不像某些 Java 系的方案动不动就要调 JVM 参数。
    • 🎯 过滤性能是真的强:很多向量数据库的元数据过滤是”后过滤”(先搜再筛),大数据量下性能灾难。Qdrant 的过滤是在 HNSW 遍历过程中完成的,实测百万级向量 + 复杂过滤条件,延迟依然在毫秒级。
    • 📦 量化功能省真金白银:Scalar Quantization 开箱即用,内存占用直接砍掉 75%,精度损失微乎其微。如果用量大,这一项就能省好几台服务器的钱。
    • 🔌 生态集成无脑顺畅:LangChain、LlamaIndex、Haystack、MCP 协议……主流 AI 框架全部原生支持,基本不用写适配代码,直接 pip install qdrant-client 开箱即用。
    • ☁️ Cloud 免费额度够用:不想自己运维可以用 Qdrant Cloud,免费套餐够小型项目跑起来,后续扩容也无缝迁移,不用担心被锁定。

    ⚠️ 注意事项:默认 Docker 启动是无认证的,千万不要直接暴露到公网!一定要先看官方安全配置指南,开启 API Key 或 mTLS 认证。另外,如果数据量在千万级以下,其实 Chroma 这类更轻量的方案也够用,Qdrant 的优势在大规模生产场景才完全体现。

    📦 下载地址 & 资源链接

    🌐 官方网站

    qdrant.tech

    💻 GitHub 仓库

    github.com/qdrant/qdrant

    ☁️ Qdrant Cloud

    cloud.qdrant.io(含免费套餐)

    📖 官方文档

    qdrant.tech/documentation

    🐍 Python 客户端

    qdrant-client (PyPI)

    📊 性能基准测试

    qdrant.tech/benchmarks

    Apache License 2.0 开源 · 完全自托管 · 32.5K+ Stars