跳到主要内容
LangSmith 支持两种方式对通过 SDK 创建的实验进行评分
  • 通过编程方式,在代码中指定评估器(详情请参见本指南
  • 通过在 UI 中将评估器绑定到数据集。除了通过 SDK 设置的任何评估器之外,这还将自动对所有新创建的实验运行评估器。当您迭代应用程序(目标函数)并希望对所有实验运行一组标准评估器时,这非常有用。

在数据集上配置评估器

  1. 单击侧边栏中的数据集和实验选项卡。
  2. 选择您要配置评估器的数据集。
  3. 单击+ 评估器按钮将评估器添加到数据集中。这将打开一个窗格,您可以使用它来配置评估器。
当您为数据集配置评估器时,它只会影响在评估器配置后创建的实验运行。它不会影响在评估器配置之前创建的实验运行的评估。

LLM 作为评判者评估器

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

自定义代码评估器

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

def perform_eval(run, example):
    # run is a Run object
    # example is an Example object
    output = run['outputs']['output']
    ref_output = example['outputs']['outputs']
    output_match = np.array_equal(output, ref_output)

    return { "exact_match": output_match }

后续步骤


以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.