什么是 上下文召回率(Context Recall)?
上下文召回率(Context Recall)是一种 RAG 评估指标,用于衡量检索到的上下文是否包含回答用户问题所需的证据。
工作原理
上下文召回率关注检索系统是否找到了必要证据。如果所需来源片段从未进入模型,RAG 答案就无法可靠地事实锚定。低上下文召回率可能来自糟糕分块、弱嵌入、缺失元数据、过滤过严、top-k 不足,或查询需要改写。它应与上下文精确率一起评估,因为盲目提高召回可能让模型看到大量无关上下文。
主要特点
- 衡量证据覆盖,而不是证据纯净度
- 识别必要事实是否出现在检索上下文中
- 与惩罚无关分块的上下文精确率互补
- 对 top-k、查询改写、分块、过滤和检索模型选择敏感
- 当 RAG 答案不完整或缺乏依据时,是关键诊断指标
常见用途
- 检查 gold evidence 是否出现在 top-k 检索结果中
- 诊断模型根本没看到正确来源导致的 RAG 失败
- 比较稠密、稀疏和混合检索的召回率
- 在不丢失必要证据的前提下调优 top-k 和元数据过滤
- 为高价值问题建立检索回归测试
示例
loading...
Loading code...常见问题
上下文召回率低说明什么?
这说明检索阶段没有包含有依据回答所需的证据,因此生成模型可能猜测或回答不完整。
提高 top-k 能改善上下文召回率吗?
经常可以,但也可能加入无关分块而降低上下文精确率。通常还需要重排和更好的检索策略。
上下文召回率和答案召回率有什么区别?
上下文召回率评估检索证据覆盖,答案召回率评估最终答案是否包含期望信息。
哪些方法可以提升上下文召回率?
更好的分块、混合检索、查询改写、元数据修复、嵌入模型选择和谨慎调优过滤条件都可能有帮助。