研究讲解 · CONCEPT EXPLAINER
向量数据库,一张图讲清楚
向量数据库把"含义"变成空间里的坐标,于是"找相似"就等于"找最近的点"。
它不靠关键词匹配,而是靠几何距离——这正是 AI 检索、推荐、RAG 背后的同一个机制。
核心思想:把语义变成坐标
传统数据库擅长精确匹配——WHERE name = '张三'。但它无法回答"找出和这句话意思相近的内容"。
向量数据库的做法是:先用嵌入模型(embedding)把每段文本、每张图片映射成一串数字,也就是高维空间里的一个点。
含义相近的东西,坐标也相近。
于是"语义检索"这个抽象问题,被翻译成了一个非常具体的几何问题:给定一个查询点,找出离它最近的若干个点。下面这张图就是全部直觉。
最近邻是怎么找的
真实场景里点有几百万个、维度有上千维,逐个算距离太慢。所以向量数据库用的是近似最近邻(ANN)算法—— 牺牲一点点准确率,换回几个数量级的速度。最常见的是 HNSW:把点组织成一张可导航的小世界图,查询时像走捷径一样跳到目标附近。
关键权衡
ANN 不保证返回的是绝对最近的点,而是极大概率最近的几个。对检索/推荐来说,这个误差完全可以接受,换来的速度才是关键。
和传统数据库的区别
| 维度 | 关系型数据库 | 向量数据库 |
|---|---|---|
| 查询方式 | 精确匹配 / 范围 | 相似度(距离) |
| 回答的问题 | "哪条记录等于 X" | "哪些内容像 X" |
| 索引结构 | B-Tree / 哈希 | HNSW / IVF |
| 结果性质 | 精确 | 近似(可调) |
| 典型场景 | 交易、账目 | 检索、推荐、RAG |
两者不是替代关系。多数 AI 应用是组合使用:关系库管结构化事实,向量库管语义检索。
什么时候该用
RAG 知识库
把文档切块嵌入,回答问题前先检索相关片段喂给大模型。
语义搜索
用户搜"便宜的轻薄本",能召回"高性价比超极本"。
推荐去重
找相似商品、相似用户,或判断两条内容是否重复。
1536
常见嵌入维度
~10ms
百万级查询延迟
95%+
ANN 召回率
落地路径
第一步
选嵌入模型
决定用什么模型把内容变成向量,维度和效果在这一步定型。第二步
建库与索引
批量嵌入、写入向量库,建 HNSW 索引。第三步
检索与调参
调相似度阈值、返回数量 topK,平衡召回与噪声。第四步
接入应用
把检索结果接进搜索框或 RAG 流程。展开:为什么不直接用 numpy 暴力算距离?
小规模(几千条)确实可以暴力算,一行 numpy 就够。但数据量到百万级时,单次查询要算百万次距离,延迟到秒级——线上不可接受。向量数据库的价值就在于用 ANN 索引把这件事压到毫秒级,并处理好持久化、增量更新、过滤等工程问题。