研究讲解 · CONCEPT EXPLAINER

向量数据库,一张图讲清楚

向量数据库把"含义"变成空间里的坐标,于是"找相似"就等于"找最近的点"。 它不靠关键词匹配,而是靠几何距离——这正是 AI 检索、推荐、RAG 背后的同一个机制。

核心思想:把语义变成坐标

传统数据库擅长精确匹配——WHERE name = '张三'。但它无法回答"找出和这句话意思相近的内容"。 向量数据库的做法是:先用嵌入模型(embedding)把每段文本、每张图片映射成一串数字,也就是高维空间里的一个点。 含义相近的东西,坐标也相近。

于是"语义检索"这个抽象问题,被翻译成了一个非常具体的几何问题:给定一个查询点,找出离它最近的若干个点。下面这张图就是全部直觉。

query 最近邻 = 语义最相似 灰点 = 库中其它内容 · 绿点 = 命中结果 · 虚线圈 = 相似度阈值
图:检索一次,就是在空间里围绕查询点画一个圈,把最近的点取出来。

最近邻是怎么找的

真实场景里点有几百万个、维度有上千维,逐个算距离太慢。所以向量数据库用的是近似最近邻(ANN)算法—— 牺牲一点点准确率,换回几个数量级的速度。最常见的是 HNSW:把点组织成一张可导航的小世界图,查询时像走捷径一样跳到目标附近。

关键权衡 ANN 不保证返回的是绝对最近的点,而是极大概率最近的几个。对检索/推荐来说,这个误差完全可以接受,换来的速度才是关键。

和传统数据库的区别

维度关系型数据库向量数据库
查询方式精确匹配 / 范围相似度(距离)
回答的问题"哪条记录等于 X""哪些内容像 X"
索引结构B-Tree / 哈希HNSW / IVF
结果性质精确近似(可调)
典型场景交易、账目检索、推荐、RAG

两者不是替代关系。多数 AI 应用是组合使用:关系库管结构化事实,向量库管语义检索。

什么时候该用

RAG 知识库

把文档切块嵌入,回答问题前先检索相关片段喂给大模型。

语义搜索

用户搜"便宜的轻薄本",能召回"高性价比超极本"。

推荐去重

找相似商品、相似用户,或判断两条内容是否重复。

1536
常见嵌入维度
~10ms
百万级查询延迟
95%+
ANN 召回率

落地路径

第一步
选嵌入模型
决定用什么模型把内容变成向量,维度和效果在这一步定型。
第二步
建库与索引
批量嵌入、写入向量库,建 HNSW 索引。
第三步
检索与调参
调相似度阈值、返回数量 topK,平衡召回与噪声。
第四步
接入应用
把检索结果接进搜索框或 RAG 流程。
展开:为什么不直接用 numpy 暴力算距离?

小规模(几千条)确实可以暴力算,一行 numpy 就够。但数据量到百万级时,单次查询要算百万次距离,延迟到秒级——线上不可接受。向量数据库的价值就在于用 ANN 索引把这件事压到毫秒级,并处理好持久化、增量更新、过滤等工程问题。