什么是 上下文召回率(Context Recall)?
上下文召回率(Context Recall)是一项 RAG 评估指标,用稳定证据 ID 或参考主张作为计分单元,衡量检索上下文覆盖了预先声明的必要证据集合中的多大比例。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
选择明确的证据全集
基于 ID 的召回率等于 top-k 中命中的唯一必要证据 ID 数除以全部唯一必要 ID 数。标注和来源版本稳定时,该方法容易复现,但如果整篇文档只因其中一个片段而被标为相关,粒度可能过粗。基于主张的方法先拆分可信参考答案,再衡量检索文本支持了哪些主张;它不要求精确片段 ID,却会继承主张提取与蕴含裁判误差。
控制粒度、重复项和不可回答问题
文档 ID、分块 ID、事实和参考主张会形成不同分母。计分前应去除重复分块或别名,重建索引后保留来源版本映射,并标记答案根本不存在于语料中的问题。不可回答问题用于测试系统能否拒答,不应被强行分配虚构的召回分母。
把召回率用作检索诊断指标
低召回可能来自数据未入库、索引陈旧、分块边界不当、词汇不匹配、元数据过滤过严、候选检索较弱或 K 不足。增大 K 可能提高覆盖,却同时引入噪声和成本。应联合比较上下文精确率、证据排名、答案忠实度和任务成功率,再按问题类型检查漏项,决定使用查询改写、混合搜索还是修复语料。
主要特点
- 必须预先声明由证据 ID 或答案主张组成的参考集合
- 衡量必要证据覆盖,而不是返回上下文的纯净度
- 会随证据粒度、来源版本、K 和去重策略变化
- 能够暴露入库、过滤、分块和候选检索失败
- 不能只根据已经返回的检索结果忠实计算
- 必须与精确率配合,因为扩大检索范围可能增加有害噪声
常见用途
- 检查标准证据片段是否出现在 top-k 结果中
- 比较稀疏、稠密和混合候选检索
- 发现重建索引或修改过滤器后的覆盖回归
- 诊断缺少证据导致的不完整答案
- 为高价值或受监管问题设置检索门禁
示例
Loading code...常见问题
没有参考证据还能计算上下文召回率吗?
不能计算真实召回率,因为分母未知。可以报告命中率、检索一致性或裁判估计支持率等可观测代理指标,但必须明确命名,不能把它们包装成对全部必要证据覆盖程度的测量。
上下文召回率等于检索器 recall@K 吗?
在用标准证据 ID 定义相关性的口径下,两者可以等价。基于主张的上下文召回率则判断检索文本支持了哪些参考主张,其计分单位和裁判误差都不同于文档级 recall@K。
增大 top-k 一定能提高上下文召回率吗?
只有候选检索器已经把证据排在扩大后的范围内才可能命中,而且还可能加入重复或无关上下文。不能把更大的 K 当成无成本优化,应同时衡量上下文精确率、延迟和下游答案质量。
不可回答问题应该怎样处理?
先标注所需证据是否存在于当前用户有权访问的语料中。若不存在,应评估检索拒绝和答案拒答能力,而不是虚构必要证据或给出有误导性的召回分数。
上下文召回率下降时应排查什么?
先比较来源与索引版本,再检查入库覆盖、分块边界、查询归一化、元数据过滤、候选分数、排序深度和访问权限。应按问题类型审查漏项,避免不加区分地增大 top-k。