资讯

向量数据库是什么?RAG 应用背后的“语义仓库”

2026-11-052 分钟阅读百科
TL;DR向量数据库是专门存储、索引和检索嵌入向量的系统,擅长快速找出与查询最相似的向量,常用于语义搜索、推荐、去重和检索增强生成(RAG)。

向量数据库(Vector Database)是专门存储、索引和检索嵌入向量的系统。它最擅长回答一个问题:在几百万、几十亿个向量里,哪些和我这个查询向量最相近?因为嵌入向量能表示语义,“相近的向量”就意味着“意思相近的内容”,所以向量数据库是语义搜索、推荐、去重、多模态搜索的基础,也是检索增强生成(RAG)应用的常见组件。

它解决什么问题

传统数据库擅长精确匹配:查找名字等于某值的记录、价格在某个区间的商品。但“找出和这段话意思最像的文档”这种需求,传统数据库很难高效完成。向量数据库用专门的近似最近邻(ANN)索引,比如 HNSW、IVF 等算法,在牺牲一点点精度的前提下,把海量向量里的相似度搜索从几秒甚至几分钟压到毫秒级。

在 RAG 里的角色

做企业知识库问答时,常见流程是:先把文档切成小段,用嵌入模型把每段转成向量,存进向量数据库;用户提问时,把问题也转成向量,到库里找出最相关的几段,再交给大模型参考着回答。向量数据库在这里就像一个按“意思”而不是按“关键词”整理的资料库。

发展和选择

基于嵌入的检索和相似度搜索已有很长的研究历史,早期常常是把向量索引嵌进关系数据库或搜索系统里。2019 年开源的 Milvus 是较早的专用向量数据库之一,其团队在 2021 年的 SIGMOD 论文里介绍了专为向量数据管理设计的系统;2023 年的一篇综述统计,当时已有 20 多个商业向量数据库系统。随着大模型应用爆发,Pinecone、Weaviate、Qdrant、Chroma 等产品大量涌现。

需要注意的是,向量数据库和传统数据库不是二选一的关系。PostgreSQL 的 pgvector 扩展、Elasticsearch、MySQL 等也已支持向量类型和相似度查询。数据量不大、已有成熟数据库的团队,直接用这些扩展往往更省事;数据量巨大、对检索性能要求很高时,再考虑专门的向量数据库。