- 创建一个初始黄金数据集来衡量性能
- 定义用于衡量性能的指标
- 在几个不同的提示或模型上运行评估
- 手动比较结果
- 随时间跟踪结果
- 设置在 CI/CD 中运行的自动化测试
设置
首先安装本教程所需的依赖项。我们恰好使用 OpenAI,但 LangSmith 可以与任何模型一起使用:创建数据集
准备测试和评估应用程序的第一步是定义您要评估的数据点。这里有几个方面需要考虑:- 每个数据点的模式应该是什么?
- 我应该收集多少个数据点?
- 我应该如何收集这些数据点?
Datasets & Testing 页面中查找 QA Example Dataset,当我们点击进入时,应该会看到我们有五个新的示例。

定义指标
创建数据集后,我们现在可以定义一些指标来评估我们的响应。由于我们有一个预期的答案,我们可以将其作为评估的一部分进行比较。但是,我们并不期望我们的应用程序输出那些完全相同的答案,而是类似的内容。这使得我们的评估稍微棘手一些。 除了评估正确性,我们还要确保我们的答案简短而简洁。这会更容易一些——我们可以定义一个简单的 Python 函数来衡量响应的长度。 让我们继续定义这两个指标。 对于第一个,我们将使用一个 LLM 来判断输出是否正确(相对于预期输出)。这种 LLM 作为评判者 的方法对于过于复杂而无法用简单函数衡量的情况相对常见。我们可以在这里定义自己的提示和用于评估的 LLM:运行评估
太好了!现在我们如何运行评估?既然我们有了数据集和评估器,我们需要的只是我们的应用程序!我们将构建一个简单的应用程序,它只包含一个系统消息,其中包含如何响应的说明,然后将其传递给 LLM。我们将直接使用 OpenAI SDK 来构建它:
Experiments 选项卡,现在可以看到我们一次运行的摘要!

gpt-4-turbo
Experiments 选项卡,应该会看到所有三次运行现在都显示出来了!

比较结果
太棒了,我们已经评估了三次不同的运行。但是我们如何比较结果呢?第一种方法是直接在Experiments 选项卡中查看运行。如果我们这样做,可以看到每次运行指标的高级视图:

Display 控件选择要查看的列和指标。您还可以通过点击顶部的图标自动过滤,只查看有改进/回归的运行。

Expand 按钮,以打开一个包含更详细信息的侧面板:

设置在 CI/CD 中运行的自动化测试
既然我们已经以一次性方式运行了它,我们可以将其设置为以自动化方式运行。我们可以通过将其作为 pytest 文件包含在 CI/CD 中运行来轻松实现这一点。作为其中的一部分,我们可以只记录结果,或者设置一些标准来确定它是否通过。例如,如果我想确保我们始终有至少 80% 的生成响应通过length 检查,我们可以使用如下测试来设置:
随时间跟踪结果
现在我们已经以自动化方式运行了这些实验,我们希望随时间跟踪这些结果。我们可以从数据集页面的总体Experiments 选项卡中执行此操作。默认情况下,我们显示随时间变化的评估指标(以红色突出显示)。我们还自动跟踪 git 指标,以便轻松将其与代码分支关联(以黄色突出显示)。

结论
本教程到此结束! 我们已经介绍了如何创建初始测试集、定义一些评估指标、运行实验、手动比较它们、设置 CI/CD 以及随时间跟踪结果。这可以帮助您充满信心地进行迭代。 这只是开始。如前所述,评估是一个持续的过程。例如——您想要评估的数据点可能会随时间继续变化。有许多类型的评估器您可能希望探索。有关此信息,请查看操作指南。 此外,除了这种“离线”方式,还有其他评估数据的方法(例如,您可以评估生产数据)。有关在线评估的更多信息,请查看设置 LLM 作为评判者的在线评估器。参考代码
点击查看合并的代码片段
点击查看合并的代码片段
连接这些文档 到 Claude、VSCode 等,通过 MCP 获取实时答案。

