检索增强生成 (RAG) 系统中检索到的文档的质量直接影响其最终答案的准确性。当检索到的文档与输入查询高度相关时,生成组件就拥有更强大的基础来生成准确、具体和上下文适当的响应。相反,不相关或低质量的文档会引入噪声,导致不正确、模糊或没有支持的答案。例如,如果用户询问“Python 列表推导式”,但系统检索到的文章是关于通用编程语法而不是 Python 专用指南,则生成器可能会生成缺乏深度或包含不正确示例的答案。这种对检索质量的依赖使文档相关性成为 RAG 性能的关键瓶颈。
有几个指标可以量化检索质量和答案准确性之间的关系。首先,以检索为中心的指标,如 Precision@k(前 *k* 个检索到的文档中相关文档的比例)和 Mean Reciprocal Rank (MRR)(第一个相关文档在结果中出现的位置),衡量系统呈现有用内容的能力。对于答案的准确性,完全匹配(生成的答案是否与真实响应匹配)或 F1 分数(生成文本和参考文本之间的重叠)是常见的指标。此外,特定于任务的指标,如 BLEU 或 ROUGE(用于文本相似度),可以评估生成的答案与预期内容的吻合程度。为了连接检索和生成,上下文相关性分数(人为或自动判断检索到的文档是否支持答案)突出了输入对实现准确输出的支持程度。例如,如果 Precision@k 较低但答案 F1 分数较高,则可能表明生成器正在“幻觉”,而不是依赖于检索到的数据。
为了实际评估这种关系,开发人员可以运行实验,比较检索指标与答案准确性。例如,如果 RAG 系统达到 80% 的 Precision@5 和 90% 的答案 F1,但降至 50% 的 Precision@5 会将 F1 降低到 60%,这表明了依赖性。像 TREC-Covid 数据集这样的工具,包含分级相关性判断,允许对检索质量进行基准测试。对于生成,将自动指标与人工评估(例如,在 1-5 的范围内对答案的正确性进行评分)相结合可以提供更清晰的图像。通过一起跟踪这些指标,开发人员可以确定不准确是源于较差的检索(例如,低 MRR)还是生成缺陷(例如,高检索精度但低答案 F1),从而可以进行有针对性的改进,例如调整检索器的排序算法或调整生成器的提示约束。