#2980·ragas

如果报告的指标意味着要透露它是基于多少个样本计算的?

作者: roy-tong创建于 2026年9月1日更新于 2026年9月8日

一个关于报告的度量值平均值的语义问题,是在审计 eval 框架的度量值合约时发现的。 观察

使用 raise_exceptions=False(默认值),失败的度量值调用返回 np.nansrc/ragas/executor.py ~L84: return counter, np.nan),而聚合结果是对每个样本值的 safe_nanmeansrc/ragas/dataset_schema.py ~L445)。EvaluationResult.__repr__ 以 4 位小数的精度打印平均值 - 但我没有在默认输出中看到成功计数或失败计数。 问题

如果有 100 个样本被评估,并且 90 个度量值调用在 API 错误中失败,则 print(result) 仍然显示了一个非常合理的忠诚度分数 - 10 个幸存样本的平均值。是否这是预期的合约(“在可用样本上的平均值”),如果是,那么是否有必要将 n_success / n_total (在 repr 中,一个警告阈值,或一个结果字段) 进行暴露?我关心的场景是:比较两个提示版本,其中失败集不同(速率限制,超时)。今天的输出无法区分“模型变得更好”和“不同的子集幸存下来”。一个分母字段将使版本比较具有可解释性,而无需重新运行 raise_exceptions=True

内容来源: vibrantlabsai/ragas