向量数据库

向量数据库

存 Embedding 的数据库

向量数据库是专为高维稠密向量的存储与近似最近邻检索(ANN)而设计的数据库系统,是检索增强生成(RAG)架构的核心基础设施。它的关键价值不只是「存 Embedding」,而是在百万乃至十亿级向量规模下以毫秒级延迟找出语义最相近的条目。

概述

向量数据库将非结构化数据的 Embedding 向量高效组织,支持以「语义距离」而非精确值匹配来检索数据。

  • 核心能力:在大规模向量集合中以近似最近邻(ANN)算法,以毫秒级延迟检索 Top-K 相似向量。
  • 典型流程:文本/图像 → Embedding 模型编码为浮点向量 → 存入向量库 → 查询时用同一模型编码查询 → 返回余弦相似度最高的条目。
  • 代表产品:云服务 Pinecone、开源自托管 Milvus(Zilliz)和 Qdrant、轻量嵌入方案 Chroma、以及向量检索库 FAISS(Meta AI,严格说是库而非完整数据库)。
  • 选型核心:不只看召回率,还需综合考察 QPS(每秒查询数)、标量过滤能力、混合检索支持与运维成本。

工作原理

向量数据库的检索性能来自专用索引结构,主要有两类主流方案。

  • HNSW(Hierarchical Navigable Small World):将向量组织为多层图,检索时从顶层稀疏图快速定位候选区域再逐层精化,查询复杂度近似 O(log n),是目前召回率与速度综合表现最优的索引。
  • IVF(Inverted File Index):先对向量空间做 k-means 聚类,检索时只扫描最近若干聚类中心,以少量召回率损失换取速度,内存占用低于 HNSW。
  • DiskANN:基于磁盘的 ANN 算法,可在内存受限场景下提供接近内存索引的性能,适合超大规模数据集。
  • 索引老化问题:频繁增删向量会使 ANN 索引召回率随时间下降,生产环境需要定期重建或增量修复索引。
  • 元数据过滤:向量检索通常配合标量字段过滤(如「只看 2024 年的文档」),不同系统的过滤实现方式(预过滤 vs 后过滤)对召回率和延迟影响显著。

类型与变体

向量数据库按部署形态和检索模式形成多条细分路线。

  • 托管云服务Pinecone、Weaviate Cloud):开箱即用,省去运维,但成本较高,数据驻留云端。
  • 自托管开源系统MilvusQdrantWeaviate):灵活可控,适合对数据主权或成本敏感的团队。
  • 嵌入式库FAISS、Annoy、hnswlib):直接集成进应用进程,适合单机或研究场景,无服务进程。
  • PostgreSQL 扩展pgvector):在关系型数据库上加装向量能力,适合希望减少技术栈复杂度、已有 PG 基础设施的团队。
  • 混合检索(Hybrid Search):将稠密向量检索与稀疏检索(如 BM25/TF-IDF)结果融合,在 RAG 场景中通常比单一模式效果更好;Qdrant、Weaviate 已原生支持。

应用场景

向量数据库是多类 AI 应用的底层存储与检索层。

  • RAG 系统:将文档分块 Embedding 后存入向量库,用户提问时检索相关段落拼入 Prompt,使 LLM 能回答超出训练知识的问题。
  • 语义搜索:用自然语言查找产品、文章、代码,捕捉同义词和语义相关性,弥补关键词搜索的不足。
  • 推荐系统:将用户/商品 Embedding 存入向量库,实时检索相似用户或相似商品。
  • 图像/人脸识别:提取视觉特征向量后在库中检索最相似的已知条目,实现以图搜图或身份核验。
  • Agent 长期记忆:Agent 把历史对话、工具调用结果存为向量,后续检索相关记忆辅助决策,实现跨会话的上下文积累。
  • 多模态检索:CLIP 等图文联合 Embedding 存入向量库后,可实现以文搜图或以图搜文。

与相邻概念的区别

向量数据库常被混淆或简化,以下对比有助于厘清边界。

  • 向量数据库 vs 普通数据库存 Embedding:把向量存进 PostgreSQL 普通列也能用,但全表线性扫描在百万级以上规模完全不可用;向量数据库的价值在于 ANN 索引,而不只是存储。
  • 向量数据库 vs 全文搜索(Elasticsearch):Elasticsearch 基于倒排索引做词频匹配,擅长关键词精确检索;向量数据库捕捉语义相似性;两者互补,混合检索方案将两者结合。
  • 向量数据库 vs 图数据库:图数据库擅长表达实体间结构化关系(三元组、路径查询),向量数据库不擅长此类结构化推理;Graph RAG 方案将两者结合以处理复杂知识。
  • FAISS vs 向量数据库:FAISS 是高性能 ANN 库,无持久化、无分布式、无元数据管理;向量数据库在 FAISS 等库之上提供完整的数据库能力(持久化、分布式、CRUD、过滤)。

局限与误区

向量数据库在实际落地中存在若干常被忽视的陷阱。

  • 召回率-延迟权衡:调高 HNSW 的 ef 参数或 IVF 的 nprobe 可提升召回率,但查询变慢;许多团队只测 Top-1 精度而忽略这条曲线。
  • Embedding 模型是质量上限:检索质量的天花板由 Embedding 模型决定,换更强模型后通常需要对全量数据重新 Embedding 并重建索引,成本不可忽视。
  • 混合检索权重难调:向量分数与关键词分数如何融合(如 RRF 或加权求和)没有通用公式,必须针对具体业务做离线评估。
  • 精确数值查询无法直接用向量检索:「价格 < 100」此类需求必须靠元数据过滤配合向量检索实现,不同系统的过滤性能差异显著,选型时需实测。
  • 维度灾难:极高维向量(>4096 维)会削弱 ANN 索引效果,通常需要降维或使用 Product Quantization(PQ) 压缩以恢复检索效率。

发展脉络

向量数据库作为独立产品类别,随深度学习 Embedding 的普及而兴起。

  • 1990s:ANN 检索算法研究起步,KD-Tree、LSH 等早期方案提出,但尚无面向 AI 的专用数据库。
  • 2016:HNSW 算法论文(Malkov & Yashunin)首次发布于 arXiv,2018 年正式发表于 IEEE TPAMI,成为此后向量数据库的主流索引基础。
  • 2017:Meta AI Research(原 Facebook AI Research)开源 FAISS,提供高效 ANN 检索库,被后来众多向量数据库用作底层引擎。
  • 2019Milvus 由 Zilliz 开源,是最早面向生产环境的专用向量数据库之一。
  • 2021:Milvus 进入 Linux Foundation AI;Pinecone 以托管服务形式上线,推动向量数据库商业化;pgvector PostgreSQL 扩展发布。
  • 2022—2023:LLM 与 RAG 浪潮爆发,QdrantWeaviateChroma 快速成熟并广泛采用;混合检索成为主流需求。
  • 2024 至今:多向量检索、稀疏-稠密混合索引、磁盘索引(DiskANN)和 GPU 加速成为主要技术演进方向。

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「存 Embedding 的数据库」
  • 「大模型圈高频词」
  • 「跟 向量数据库 是一回事吗」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 2 篇文章,帮助深入理解该术语。

  1. 1

    RAG 检索增强生成架构指南

    如何结合外部知识库增强 LLM 的准确性和时效性

  2. 2

    Agent 记忆系统(四):向量数据库、知识图谱与记忆检索全景指南

    AI Agent 的记忆系统是决定其智能水平的核心组件。本文系统讲解 Agent 记忆体系的完整架构:从短期工作记忆到长期语义记忆,从向量数据库的嵌入检索到知识图谱的关系推理,从记忆压缩策略到遗忘机制,帮助你在构建 Agent 时设计正确的记忆方案。

外部参考

维基百科:查看「向量数据库」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。