端到端评估#
端到端评估应当成为RAG应用的指导信号——在给定数据源和查询集的情况下,我的工作流能否生成正确的响应?
虽然初期单独检查查询和响应很有帮助,但随着处理更多失败案例和边界情况,逐条查看查询可能变得不可行。此时定义一组汇总指标或自动化评估会更有帮助,从而理解这些指标传达的信息以及需要深入分析的环节。
构建评估集#
从少量但多样化的查询集开始很有帮助,随着发现存在问题的查询或交互,可以逐步扩充更多示例。
我们开发了一些工具,可根据待查询文档集自动生成数据集(参见下方示例):
未来我们还将支持针对工具自动创建数据集。
评估选项的频谱#
定量评估更适用于存在标准答案的应用场景,例如: - 验证工具选择及其输入是否符合计划 - 检索特定信息片段 - 生成符合特定模式(如JSON字段)的中间输出
定性评估更适用于生成_有帮助性_但不要求完全准确的长文本响应。
评估选项构成一个连续谱系,涵盖指标、低成本模型、高成本模型(GPT4)和人工评估等不同层级。
以下是评估模块的示例用法:
问题发现 - 敏感性测试#
对于复杂工作流,往往难以判断流程中哪些环节会影响最终结果。
敏感性测试可作为切入点,帮助确定需要单独测试或深入调整的组件,或识别数据集中(如查询)可能产生问题结果的部分。
关于如何通过敏感性测试等方法自动发现问题,我们将很快提供更多细节。
传统机器学习领域的相关案例包括Giskard。
指标集成#
使用GPT-4进行评估可能成本高昂,尤其在开发集规模较大时。
指标集成通过组合多个弱信号指标(精确匹配、F1、ROUGE、BLEU、BERT-NLI和BERT相似度)来预测更接近黄金标签(人工标注/GPT-4)的高成本评估结果。
该方案主要用于两个场景:
- 开发阶段快速低成本地评估大规模数据集上的变更
- 生产监控阶段标记异常值以供进一步评估(触发GPT-4/人工检查)
我们还追求指标集成的可解释性——相关性和权重分数应能反映哪些指标最能捕捉评估标准。
关于具体方法论,我们将在后续更新中详细讨论。