Skip to content

端到端评估#

端到端评估应该是您 RAG 应用的指导信号 - 在给定数据源和一组查询的情况下,我的流水线是否会生成正确的响应?

虽然最初逐个检查查询和响应会有所帮助,但随着您处理更多失败和边缘情况,逐个查看每个查询可能变得不可行,相反,定义一组摘要指标或自动化评估可能更有帮助,并直观地了解它们可能告诉您的信息以及您可能需要深入了解的地方。

设置评估集#

从一小部分但多样化的查询开始,并随着发现问题查询或交互而增加更多示例会很有帮助。

我们创建了一些工具,可以根据给定的文档集自动生成数据集供您查询。 (见下面的示例)。

将来,我们还将能够针对工具自动生成数据集。

评估选项的范围#

在评估应用程序时,如果存在正确答案,定量评估更有用 - 例如,验证工具的选择及其输入是否正确,根据计划检索特定信息片段,或尝试生成特定模式的中间输出(例如 JSON 字段)。

在生成旨在是“有帮助”而不一定完全准确的长篇响应时,定性评估更有用。

评估选项的范围从指标、更便宜的模型、更昂贵的模型(GPT4)到人类评估不等。

以下是一些评估模块的示例用法:

发现 - 敏感性测试#

对于复杂的流水线,可能不清楚哪些部分影响了您的结果。

敏感性测试可以帮助您选择哪些组件需要进行单独测试或彻底调整,或者数据集的哪些部分(例如查询)可能会产生问题结果。

关于如何使用敏感性测试等方法自动发现问题的更多详细信息即将推出。

在更传统的机器学习领域,这方面的示例包括Giskard

指标集成#

随着开发集的增大,使用 GPT-4 进行评估可能会变得昂贵。

指标集成使用一组较弱的信号(精确匹配、F1、ROUGE、BLEU、BERT-NLI 和 BERT-相似性)来预测更昂贵的评估方法的输出,这些方法更接近金标签(人工标注/GPT-4)。

它旨在实现两个目的:

  1. 在开发阶段快速、廉价地跨大型数据集评估更改。
  2. 在生产监控阶段标记异常值以供进一步评估(GPT-4/人工警报)。

我们还希望指标集成具有可解释性 - 相关性和加权分数应该指示哪些指标最能捕捉评估标准。

我们将在未来的更新中讨论更多有关方法论的内容。