一、向量是什么

在 AI 场景里,向量可以理解成一个“很长的数字列表”,例如:

[0.23, -0.54, 1.20, ..., 0.87]

这个数字列表不是随便生成的,它通常承载了原始数据的语义或特征。

例如:

  • 一张图片会被编码成代表颜色、形状、对象特征的向量;
  • 一段文本会被编码成代表主题、语义、上下文的向量。

二、向量数据库到底是做什么的

向量数据库就是专门用来:

  • 存储这些向量;
  • 高效检索与某个目标向量最相似的其他向量。

如果你给它一个查询向量,它会在海量向量里快速找到“距离最近”的那些结果。

三、向量数据库解决了什么问题

传统数据库很擅长做精确查询,比如:

  • 根据用户名找用户;
  • 根据订单号查订单;
  • 根据时间范围查日志。

但它不擅长做“找最相似的内容”。

而向量数据库最核心的能力就是相似性搜索,例如:

  • 找和这段问题最像的文档片段;
  • 找和这张图片最像的图片;
  • 找和这首歌风格最接近的音乐。

常见相似度度量包括:

  • 余弦相似度;
  • 欧几里得距离;
  • 内积等。

四、一个直观比喻

你可以把向量数据库想象成一个巨大的“贴纸墙”:

  • 每张贴纸代表一条数据;
  • 相似的贴纸会被放得更近;
  • 当你拿来一张新贴纸时,系统会帮你快速找到周围最接近的那些贴纸。

这就是相似性检索的本质。

五、向量数据库有哪些主流选择

5.1 原生向量数据库

这类数据库从设计之初就针对向量检索优化。

常见代表:

  • Milvus / Zilliz Cloud
  • Qdrant
  • Chroma

5.2 传统数据库的向量扩展

这类方案是在已有数据库基础上增加向量能力。

常见代表:

  • PostgreSQL + pgvector
  • Redis + RedisSearch
  • Elasticsearch

六、为什么 RAG 几乎离不开向量数据库

因为 RAG 的第一步通常就是:

  • 把用户问题转成向量;
  • 再从知识库中找最相关的文档片段。

如果没有一个高效的向量检索层,RAG 在海量知识库上就很难跑得快,也很难保证召回质量。

七、什么时候一定要用向量数据库

如果你的系统具备这些特点,就基本需要向量数据库:

  • 文档很多;
  • 需要按语义检索而不是关键词精确匹配;
  • 需要支持 RAG、推荐、相似搜索、多模态检索。

八、一个实用判断

向量数据库不是为了替代传统数据库,而是补上“语义相似检索”这块能力。很多真实系统里,往往是传统数据库和向量数据库一起存在:前者负责结构化数据,后者负责语义理解。