设置在线评估
在线评估可为您的生产追踪提供实时反馈。这有助于持续监控应用程序的性能——识别问题、衡量改进效果,并确保长期保持一致的质量水平。
LangSmith 支持两种类型的在线评估:
- LLM 作为评估器:使用大语言模型(LLM)评估您的追踪数据。这是一种可扩展的方法,可为您的输出提供类似人类的判断(例如毒性、幻觉、正确性等)。
- 自定义代码:在 LangSmith 中直接使用 Python 编写评估器。通常用于验证数据的结构或统计特性。
在线评估通过自动化规则进行配置。
使用在线评估器快速入门
1. 打开您要为其配置在线评估器的追踪项目
2. 单击“添加规则”按钮(右上角)
3. 配置您的规则
- 添加评估器名称
- 可选地筛选您希望应用评估器的运行记录,或配置采样率。例如,通常会根据用户标记为“不满意”的响应所对应的运行记录、使用特定模型的运行记录等,来应用特定的评估器。
- 选择 应用评估器
配置一个基于大语言模型的在线评估器
查看本指南,了解如何配置LLM 作为裁判的评估器。
配置自定义代码评估器
选择 自定义代码 评估器。
编写您的评估函数
自定义代码评估器的限制。
允许使用的库:您可以导入所有标准库函数,以及以下公开包:
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 中设置自定义代码评估器之前,先在本地进行测试。
在用户界面中,您将看到一个面板,允许您内联编写代码,并附带一些入门示例代码:

自定义代码评估器接收一个参数:
- 一个
Run(参考)。这表示用于评估的采样运行。
它们返回单个值:
- 反馈字典:一个字典,其键为您希望返回的反馈类型,值为对应反馈类型的评分。例如,
{"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 入门课程》中的在线评估视频。