负例——问题与无关文档的配对——在评估 RAG 系统处理检索到的信息无用或具有误导性的场景的能力方面起着关键作用。这些例子测试了当检索器提供低质量的上下文时,系统避免生成不正确或无意义答案的能力。 通过有意引入不匹配的文档-问题对,开发人员可以评估生成器组件是否识别出不相关性,忽略误导性内容,或发出不确定信号,而不是产生自信但有缺陷的输出。 这有助于识别检索器的准确性和生成器在次优条件下推理的弱点。
例如,假设一个 RAG 系统被问到“什么导致糖尿病?”,并与一篇关于汽车发动机维护的文档配对。一个强大的生成器应该拒绝无关的文档(例如,声明它缺乏医学上下文),或者避免生成将发动机与糖尿病不正确地联系起来的答案。 同样,如果用户问“如何安装 Python 包?”,但检索器获取了一篇关于蟒蛇的文档,系统必须避免将编程与生物学混淆。 这些测试揭示了生成器是否过度依赖检索到的内容而不验证其相关性。 它们还突出了检索器未能优先考虑特定领域信号(例如技术关键词或上下文线索)的情况,从而导致文档选择不佳。
通过使用负例进行系统测试,开发人员可以衡量关键指标,例如精确度(检索到的文档相关的频率)以及给定无关输入时生成器的错误率。 例如,如果一个系统在被输入无关文档时,30% 的时间产生听起来合理但不正确的答案,这表明需要更好的验证机制——例如交叉检查文档上下文与问题或结合置信度评分。 这些见解指导改进,例如微调检索器以过滤掉噪声或训练生成器以检测不匹配。 如果仅在具有完美检索的“简单”情况下进行测试,则不包含负例的评估可能会高估性能。 包含它们可以确保 RAG 管道能够应对检索质量中的实际缺陷。