Skip to main content
LangSmith 支持两种方式对通过 SDK 创建的实验进行评分:
  • 编程方式,通过在代码中指定评估器(详见如何评估 LLM 应用
  • 通过在 UI 中将评估器绑定到数据集。这将自动在任何新创建的实验上运行这些评估器,此外还会运行你通过 SDK 设置的任何评估器。这在迭代你的应用(目标函数)时非常有用,并且你希望为所有实验运行一套标准的评估器。

在数据集上配置评估器

  1. 点击侧边栏中的 Datasets and Experiments 标签页。
  2. 选择你想要为其配置评估器的数据集。
  3. 点击 + Evaluator 按钮,向数据集添加评估器。这将打开一个面板,你可以用来配置评估器。
当你为数据集配置评估器时,它只会影响评估器配置之后创建的实验运行。它不会影响评估器配置之前创建的实验运行的评估。

LLM 作为评判者的评估器

将评估器绑定到数据集的过程与在 Playground 中配置 LLM 作为评判者评估器的过程非常相似。查看在 Playground 中配置 LLM 作为评判者评估器的说明

自定义代码评估器

将代码评估器绑定到数据集的过程与在线评估中配置代码评估器的过程非常相似。查看配置代码评估器的说明 在线评估中配置代码评估器与将代码评估器绑定到数据集之间的唯一区别是,自定义代码评估器可以引用数据集 Example 中的输出。 对于绑定到数据集的自定义代码评估器,评估器函数接受两个参数:
  • 一个 Run参考)。这代表你实验中的新运行。例如,如果你通过 SDK 运行了一个实验,这将包含你正在测试的链或模型的输入/输出。
  • 一个 Example参考)。这代表你正在测试的链或模型所使用的数据集中的参考示例。RunExampleinputs 应该是相同的。如果你的 Example 有一个参考 outputs,那么你可以用它来与运行的输出进行比较以进行评分。
下面的代码展示了一个简单的评估器函数示例,它检查输出是否与参考输出完全相等。
import numpy as np

def perform_eval(run, example):
    # run 是一个 Run 对象
    # example 是一个 Example 对象
    output = run['outputs']['output']
    ref_output = example['outputs']['outputs']
    output_match = np.array_equal(output, ref_output)

    return { "exact_match": output_match }

后续步骤