Skip to main content
某些指标只能在整个实验级别上定义,而不是针对实验的单次运行。例如,您可能希望计算评估目标在整个数据集所有示例上的总体通过率或F1分数。这些被称为汇总评估器。

基本示例

在此,我们将计算F1分数,它是精确率和召回率的组合。 这类指标只能在实验的所有示例上计算,因此我们的评估器接收一个输出列表和一个参考输出列表。
然后,您可以按如下方式将此评估器传递给 evaluate 方法:
在 LangSmith UI 中,您将看到汇总评估器的分数及其对应的键显示出来。 summary_eval.png

汇总评估器参数

汇总评估器函数必须具有特定的参数名称。它们可以接受以下参数的任意子集:
  • inputs: list[dict]:对应于数据集中单个示例的输入列表。
  • outputs: list[dict]:每个实验在给定输入上产生的字典输出列表。
  • reference_outputs/referenceOutputs: list[dict]:与示例关联的参考输出列表(如果可用)。
  • runs: list[Run]:两个实验在给定示例上生成的完整 Run 对象列表。如果您需要访问中间步骤或每次运行的元数据,请使用此参数。
  • examples: list[Example]:所有数据集 Example 对象,包括示例输入、输出(如果可用)和元数据(如果可用)。

汇总评估器输出

汇总评估器应返回以下类型之一: Python 和 JS/TS
  • dict:形式为 {"score": ..., "name": ...} 的字典允许您传递数值或布尔分数以及指标名称。
目前仅限 Python
  • int | float | bool:这被解释为一个连续指标,可以进行平均、排序等操作。函数名称用作指标的名称。