召回理解
召回低理解
召回可以理解为
- 召回:检索出来的chunk / 检索出来的结果
- Recall:召回
- 召回公式:Recall = 找到的正确结果数量 / 所有应该找到的正确结果数量
- 召回率 = 找回来了多少正确答案
- 例子:比如你要搜索一个答案,答案目标chunk有10个,却找出来了8个,漏了2个
- 召回率:8/10 = 80%
在 RAG 里,它主要用来衡量:
用户问一个问题时,检索系统有没有把包含答案的 chunk 找出来 召回低:
- 知识库里明明有答案,但检索阶段没有把答案相关的 chunk 找出来
召回低优化
| 问题 | 优化方法 |
|---|---|
| 正确答案排在后面 | 增大 top_k,比如从 5 提到 30 |
| HNSW 搜不到 | 增大 efSearch |
| IVF 搜不到 | 增大 nprobe |
| 专有名词搜不到 | 加 BM25 / 关键词检索 |
| 语义匹配差 | 换更好的 embedding 模型 |
| chunk 不合理 | 调整 chunk_size 和 overlap |
| 无关结果太多 | 加 rerank |
| 过滤太严格 | 检查 metadata filter |
| 新资料搜不到 | 检查索引更新流程 |