端到端评估#
端到端评估应该是你的 RAG 应用的指导信号——我的工作流能否根据数据源和一组查询生成正确的响应?
虽然最初逐个检查查询和响应很有帮助,但当你处理更多失败和边缘情况时,逐个查看每个查询可能不再可行,反而定义一套摘要指标或自动化评估可能会有所帮助,从而直观了解它们可能告诉你什么以及你可能需要深入研究的地方。
设置评估集#
从一小组多样化的查询开始很有帮助,并在发现有问题或有交互的查询时构建更多示例。
我们创建了一些工具,可以根据一组待查询的文档为你自动生成数据集。(参见下面的示例)。
将来,我们还能针对工具自动创建数据集。
评估选项的范围#
定量评估在评估有正确答案的应用时更有用——例如,验证工具的选择及其输入根据计划是否正确,或检索特定信息,或尝试生成具有特定模式(例如 JSON 字段)的中间输出。
定性评估在生成旨在有用但不一定完全准确的长篇回复时更有用。
评估选项范围广泛,包括指标、较便宜的模型、较昂贵的模型 (GPT4) 以及人工评估。
以下是 评估模块 的一些示例用法
发现 - 敏感性测试#
对于复杂的工作流,可能不清楚流程的哪些部分影响着你的结果。
敏感性测试可以很好地帮助你选择哪些组件需要单独进行更彻底的测试或调整,或者数据集的哪些部分(例如查询)可能产生问题结果。
关于如何通过敏感性测试等方法自动发现问题的更多细节将很快发布。
在更传统的机器学习领域,这方面的例子包括 Giskard。
指标集成#
使用 GPT-4 进行评估可能会很昂贵,特别是当你的开发集变得很大时。
指标集成使用一组较弱信号(精确匹配、F1、ROUGE、BLEU、BERT-NLI 和 BERT 相似度)的组合来预测更昂贵评估方法(更接近黄金标注(人工标注/GPT-4))的输出。
它有两个目的
- 在开发阶段,跨大型数据集廉价快速地评估变更。
- 在生产监控阶段,标记异常值以进行进一步评估(GPT-4 / 人工警报)。
我们还希望指标集成是可解释的——相关性和权重分数应能表明哪些指标最能捕捉评估标准。
我们将在未来的更新中讨论更多关于该方法的内容。