背景
当在较大的数据集上运行评估器时,根据模型的不同,经常会遇到LLM错误,即输出不是有效的JSON。例如,在对ARAGOG数据集运行基准脚本时,我总是有一行得到错误的JSON,因此每次运行脚本时,我都得到一个分数报告,这并不非常有用,如下所示:
| metrics | score |
| ------------ | ------------ |
| context_relevance | NaN |
在这种情况下,LLM基于评估指标的输出(如果出现错误)类似于:{'statements': [], 'statement_scores': [], 'score': nan}
作为用户,我希望跟踪评估过程中发生的错误,因此理想情况下,这应该作为标志返回,例如:{'statements': [], 'statement_scores': [], 'score': nan, 'error': True}
然后,在评估分数报告中,我们可以通过忽略错误来返回分数的平均值:
| metrics | score | total_errors |
| ------------ | ------------ | ------------ |
| context_relevance | 0.9 | 1 |
结果
- 对LLM基于评估器(上下文相关性和忠实度)进行更改,使其返回错误标志。
- 对LLM基于评估器进行更改,即使有
np.nan
(例如,建议将此处的np.mean
更改为np.nanmean
)的行也返回分数。 - 对EvaluationRunResult的
score_report()
函数进行更改,以返回总错误。
1条答案
按热度按时间wgmfuz8q1#
对于这个问题,有一个解决方法,用户可以直接使用评估器
individual_scores
的输出来执行自定义聚合。