Embedding 相似性检索怎么工作?
向量检索基本原理:从向量化到相似度计算
原题:请解释在AI项目中,基于embedding向量的相似性检索的基本原理和工作机制?
向量检索 · 美团真题
30 秒回答
- embedding将文本映射到语义空间
- 相似性通过距离度量(余弦/欧氏)计算
- ANN算法加速大规模检索
- 倒排索引或图索引优化查询效率
回答与解析
答案要点
- embedding将文本映射到语义空间
- 相似性通过距离度量(余弦/欧氏)计算
- ANN算法加速大规模检索
- 倒排索引或图索引优化查询效率
- RAG中用于召回相关文档
核心原理
Embedding语义映射
- 文本通过预训练模型(如BGE、M3E、OpenAI的text-embedding)编码为固定维度的稠密向量
- 语义相近的文本在向量空间中距离更近,这是检索有效性的基础
相似性度量
- 余弦相似度:最常用,关注方向一致性,对向量长度不敏感
- 欧氏距离:关注绝对距离,适合归一化后的向量
- 点积:计算快,但受向量模长影响
工作机制
离线阶段:索引构建
文本 → 分块 → Embedding模型 → 向量 → 构建索引(HNSW/IVF-PQ)→ 存入向量库
在线阶段:相似检索
查询文本 → 向量化 → ANN搜索Top-K → 返回相似文档
ANN加速算法
- HNSW:图索引,查询快、精度高,内存占用大,适合百万级
- IVF-PQ:倒排+乘积量化,内存省、亿级规模,精度略降
- 实际选型看数据规模和延迟要求
RAG中的关键作用
作为召回环节,解决"找什么"的问题。检索质量直接决定生成上限,常见优化:query改写、混合检索(向量+关键词)、重排序(Rerank)。
口语版讲法(约4分钟)
- 本质在问怎么把语义理解转换成工程可算的距离
- Embedding和相似度是基础
- ANN索引是核心
- 混合检索是实战标配
- 落地风险和判断
这道题其实是在问,怎么把人对语义的理解,转换成机器能算的距离。我们做RAG、做知识库的时候,核心就是靠这个。
先说一下基本原理。文本进来,我会用Embedding模型把它变成一个向量,比如768维或者1024维的稠密向量。你理解成把一句话压缩成一个坐标点,语义相近的,坐标就挨得近。这一步的前提是模型本身质量够,如果模型不行,后面全白搭。
然后算相似度,最常用的是余弦相似度,它只看方向不看模长,适合大部分场景。欧氏距离也行,但得先归一化。说白了,选哪个度量取决于你的向量空间长什么样。
但真正要落地,你不能每次都暴力算所有向量的距离,那太慢了。所以得用ANN算法,也就是近似最近邻搜索。我实际项目里用得最多的是HNSW,它是个图结构,查询快、精度高,但内存吃得多,百万级数据很适合。如果数据量到亿级,我会换IVF加Product Quantization,也就是倒排加乘积量化,省内存,但精度会掉一点。选哪个取决于你的延迟容忍度和精度要求。
这里有个坑:很多人以为向量检索就能解决一切,其实不是。关键词检索在精确匹配上比向量强得多,比如订单号、错误码这些,向量可能找偏,但BM25一搜一个准。所以真正落地的方案,我倾向做Hybrid Search,也就是向量和关键词两条路一起走,然后合并排序。
举个例子,电商客服场景里,用户问“退款怎么还没到”,向量检索能召回相似语义的退款政策文档,但用户如果报了一串订单号,关键词检索能精准定位那条订单记录。两个互补,缺一个体验都会崩。
再说RAG里的召回环节。检索质量直接决定了生成的天花板。我上线前会特别关注几个点:一是chunk切分策略,切太碎丢失上下文,切太长噪声多,得根据文档类型调;二是query改写,用户问题可能很口语化,我会先改写一下再去做检索;三是Rerank,初召回Top100,再用Cross-Encoder重排一次,把最相关的Top5送进生成。
还有一个点值得聊,就是检索的置信度问题。有时候召回来的文档跟问题根本不相关,但模型还是硬用,就会产生Hallucination。我一般会在检索后加一层相关性过滤,低于阈值的直接丢弃。这个阈值怎么定,其实跟业务场景和模型能力都有关系。
所以整体上,我会把相似性检索看成整个RAG系统的漏斗入口,入口质量不行,后面生成再怎么调也救不回来。我更倾向把检索和生成当整体来优化,而不是各自独立调参数。
关键一句:检索后的相关性过滤和阈值设定
面试官还可能这样问
- 问法 1 · 场景切入
我看你做过RAG相关的项目。假设用户输入一个查询,你要从百万级知识库里快速找到相关片段,这时候你会怎么设计检索流程?核心依赖的是什么技术?
- 问法 2 · 层层追问
向量检索的基本原理你能讲讲吗?……文本怎么变成向量的?……两个向量怎么比较相似?……如果数据量特别大,怎么保证检索速度?
- 问法 3 · 直球架构
解释一下基于embedding的相似性检索的基本原理和工作机制,包括离线索引构建和在线查询的完整流程。