工具

Vector Database

为什么需要 Vector Database

Embedding 把文本变成了向量,但这些向量需要存在某个地方才能被检索。

你不能把向量存在普通数据库里做语义搜索——传统数据库擅长的是 id = 123name = "张三" 这种精确匹配,而不是"找和这段话意思最接近的内容"。

Vector Database 就是专门干这件事的:存储向量 + 高效检索"最相似的向量"


什么是 Vector Database

一句话定义:Vector Database 是专门存储高维向量、并支持语义相似度检索的数据库。

类比一下:

  • 传统数据库像字典:查"这个词在哪页"
  • Vector Database 像图书馆员:问"哪本书讲的意思和这个问题最接近"

它不关心向量里的每个数字是什么意思,只关心向量之间的距离。距离近 = 语义相似。这里就用到了 Cosine Similarity 来衡量相似度。


怎么做:什么时候用 Vector Database

适合用 Vector Database 的场景

  • 知识库文档很多,不能每次全量塞给模型
  • 需要做语义搜索,而不是关键词搜索
  • RAG 系统提供稳定的检索层

什么时候可以不用

  • 数据量很小(几十条),直接用简单存储也够
  • 场景很简单,只需要关键词匹配

常见坑

  • 上了向量数据库不等于 RAG 做好了:效果还取决于切分、检索策略、Prompt 拼接
  • 它不能替代普通数据库:很多业务字段仍需要结构化存储
  • 不是维度越高越好:更高维通常意味着更高存储和计算成本

记住这一句:Vector Database 是 Embedding 的存储层,让"语义相似的内容能被快速找到"成为可能。

相关词条Embedding · RAG