🧠AI RAG
Embedding与向量索引
难度:⭐⭐ | 高频指数:🔥🔥🔥 | 应用岗相关度:★★★
面试回答
常见问法
Embedding 和向量库分别在 RAG 里做什么?为什么说它们不是一回事?
回答
Embedding 负责把文本映射成向量表示,让“语义相近”的内容在向量空间里更接近;向量索引负责高效存储和检索这些向量。
所以:
- Embedding 决定你“表征得准不准”
- 索引决定你“查得快不快、近似得怎么样”
这两个层面都能影响召回质量,但问题性质不同。
追问
- 为什么换个 embedding 模型,召回效果可能变化很大
- 向量索引为什么常做近似搜索
- 什么时候要加 metadata filter
原理展开
RAG 检索链路里,常见步骤是:
- 文档 chunk 化
- 生成 embedding
- 写入向量索引
- 查询也转成 embedding
- 做相似度检索
面试里高频判断点有两个:
- 如果召回不准,可能是 embedding 语义表征不适合业务
- 如果召回太慢,可能是索引结构和参数不合适
所以不要把“向量库效果不好”一股脑归给同一个原因。
易错点
- 把 embedding 模型问题和索引参数问题混成一类
- 只看向量相似度,不结合 metadata 和业务过滤
- 以为向量检索一定比关键词检索更好
记忆技巧
记住:
- Embedding = 把文本变成语义向量
- 索引 = 让相似搜索变快
- 召回效果 = 表征能力 + 检索策略共同决定
面试速答版
- Embedding 负责语义表征(“表征得准不准”),向量索引负责高效检索(“查得快不快”)
- 召回不准时先排查 embedding 模型是否适合业务语义,再看索引参数
- 向量检索做近似搜索是为了在精度和速度之间 trade-off(HNSW、IVF 等)
- 关键决策:embedding 模型选型要看业务语义匹配度,不只看通用 benchmark
- 常见坑:把 embedding 问题和索引参数问题混为一谈、以为向量检索一定优于关键词
- 实际系统常加 metadata filter 做业务过滤,纯向量相似度不够用
- 一句话最佳实践:召回效果 = 表征能力 + 检索策略,两层分开优化
Related · RAG