Skip to main content

设置在线评估

推荐阅读

在深入本内容之前,阅读以下内容可能会有所帮助:

在线评估可为您的生产链路提供实时反馈。这有助于持续监控应用程序的性能——以识别问题、衡量改进成果,并确保长期质量的一致性。

LangSmith 支持两种类型的在线评估:

  • LLM即裁判: 使用大型语言模型来评估您的追踪数据。作为一种可扩展的方式,为您的输出提供类人的判断(例如:毒性、幻觉、正确性等)。
  • 自定义代码: 直接在 LangSmith 中用 Python 编写评估器。通常用于验证数据的结构或统计属性。

在线评估是使用 自动化规则 配置的。

开始使用在线评估器

1. 打开您想要配置在线评估器的跟踪项目

2. 选择“添加规则”按钮(右上角)

3. 配置您的规则

  • 添加评估器名称
  • 可选地过滤您希望对其应用评估器的运行,或配置采样率。例如,通常会根据用户表示响应不满意的运行、具有特定模型的运行等来应用特定的评估器。
  • 选择应用评估器

配置一个作为裁判的大型语言模型在线评估器

查看本指南以配置 LLM-as-a-judge 评估器

配置自定义代码评估器

选择 自定义代码 评估器。

编写您的评估函数

自定义代码评估器的限制。

允许使用的库: 您可以导入所有标准库函数,以及以下公共包:

  numpy (v2.2.2): "numpy"
pandas (v1.5.2): "pandas"
jsonschema (v4.21.1): "jsonschema"
scipy (v1.14.1): "scipy"
sklearn (v1.26.4): "scikit-learn"

网络访问: 您无法从自定义代码评估器访问互联网。

自定义代码评估器必须以内联方式编写。我们建议在 LangSmith 中设置自定义代码评估器之前先在本地进行测试。

在用户界面中,您将看到一个面板,允许您在此处直接编写代码,并包含一些示例代码:

自定义代码评估器接受一个参数:

  • A Run (引用)。这表示要评估的采样运行。

它们返回一个单一值:

  • 反馈(s) 字典:一个字典,其键是你想要返回的反馈类型,值是你为该反馈键给出的分数。例如,{"correctness": 1, "silliness": 0} 会在运行中创建两种类型的反馈,一种表示它是正确的,另一种表示它不愚蠢。

在下面的截图中,您可以看到一个简单的函数示例,该函数验证实验中的每次运行是否都包含一个已知的 JSON 字段:

import json

def perform_eval(run):
output_to_validate = run['outputs']
is_valid_json = 0

# assert you can serialize/deserialize as json
try:
json.loads(json.dumps(output_to_validate))
except Exception as e:
return { "formatted": False }

# assert output facts exist
if "facts" not in output_to_validate:
return { "formatted": False }

# assert required fields exist
if "years_mentioned" not in output_to_validate["facts"]:
return { "formatted": False }

return {"formatted": True}

测试并保存您的评估函数

在保存之前,您可以通过点击测试代码在最近一次运行上测试您的评估器函数,以确保您的代码能够正确执行。

一旦您保存,您的在线评估器将运行新采样的运行(如果您选择了回填选项,也会运行回填的运行)。

如果您更喜欢视频教程,请查看 LangSmith 课程介绍中的在线评估视频


此页面有帮助吗?


您可以留下详细的反馈 在 GitHub 上