设置在线评估
在线评估提供有关您的生产跟踪的实时反馈。这对于持续监控应用程序的性能非常有用 - 识别问题、衡量改进情况并确保质量随时间推移保持一致。
LangSmith 支持两种类型的在线评估:
- LLM as-a-judge:使用 LLM 评估您的跟踪记录。用作一种可扩展的方式,为您的输出提供类似人类的判断(例如毒性、幻觉、正确性等)。
- 自定义代码:直接在 LangSmith 中用 Python 编写赋值器。通常用于验证数据的结构或统计属性。
在线评估是使用自动化规则配置的。
开始使用在线评估器
1. 打开要配置在线评估的跟踪项目
2. 选择 Add Rules(添加规则)按钮(右上角)
3. 配置规则
- 添加 evaluator name
- (可选)筛选要应用赋值器的运行或配置采样率。例如,根据用户指示响应不满意的运行、使用特定模型的运行等来应用特定评估器是很常见的。
- 选择 Apply Evaluator
配置 LLM 作为裁判在线评估器
查看本指南以配置配置 LLM 作为裁判评估员。
配置自定义代码计算器
选择 Custom code evaluator(自定义代码计算器)。
编写评估函数
自定义代码评估器限制。
允许的库:您可以导入所有标准库函数,以及以下公共包:
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"
网络访问:您无法从自定义代码评估器访问 Internet。
自定义代码计算器必须内联编写。我们建议在 LangSmith 中设置自定义代码计算器之前在本地进行测试。
在 UI 中,您将看到一个面板,用于内联编写代码,其中包含一些起始代码:

自定义代码计算器采用一个参数:
- 一个
Run(参考)。这表示要评估的采样运行。
它们返回单个值:
- Feedback(s) Dictionary(反馈词典):一个词典,其 keys 是您要返回的反馈类型,values 是
您将为该 feedback key 给出的分数。例如
{"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}
测试并保存您的评估函数
在保存之前,您可以通过单击 Test Code (测试代码) 在最近的运行中测试计算器函数,以确保您的代码正确执行。
保存后,您的在线评估器将运行新采样的运行(如果您选择了回填选项,则也会运行回填的运行)。
如果您更喜欢视频教程,请观看 LangSmith 课程简介中的在线评估视频。