向量数据库(Vector Database)

专门存储和检索高维向量的数据库系统,支持通过余弦相似度等度量快速找到最相似的向量。是RAG流程中存储文档Embedding、执行语义检索的基础设施。

向量数据库(Vector Database)

一句话理解

传统数据库按字段查找精确匹配,向量数据库按"意思相近"查找最相似的内容。

为什么需要专门的数据库

文本经过 Embedding 模型转换后变成高维向量(如 1536 维),要在百万甚至千万条向量中快速找到最相似的几条,普通数据库做不到——暴力计算余弦相似度的复杂度是 O(n),数据量大时不可接受。

向量数据库通过专门的索引算法(如 HNSW、IVF)实现近似最近邻搜索(ANN),在毫秒级返回 top-K 结果。

主流方案

专用向量数据库

  • Pinecone:全托管云服务,零运维,按量计费
  • Milvus:开源,支持自部署,可扩展到十亿级向量
  • Qdrant:Rust 实现,性能优秀,API 友好
  • Weaviate:支持混合搜索(向量 + 关键词)

传统数据库的向量扩展

  • PostgreSQL + pgvector:在已有 PG 基础上加向量能力,运维成本最低
  • Elasticsearch 8.x:新增 dense_vector 字段和 ANN 搜索

选型建议

场景推荐
快速验证 / 小规模pgvector(已有 PG)或 Pinecone(托管)
生产环境 / 大规模Milvus 或 Qdrant
需要混合搜索Weaviate 或 Elasticsearch

在 RAG 中的角色

向量数据库是 RAG 架构的核心基础设施——它承担"语义检索层"的角色,决定了检索的速度和质量。RAG 流程中,用户查询先被转换为向量,再通过向量数据库检索最相关的文档片段,最终作为上下文送入 LLM 生成回答。