主题
如何定义 LLM-as-a-judge 评估器
LLM 应用可能难以评估,因为它们通常会生成没有唯一正确答案的对话文本。
本指南展示如何定义 LLM-as-a-judge 评估器,用于离线评估,并使用 LangSmith UI。
NOTE
本指南使用 LangSmith UI。你也可以使用 SDK 以编程方式创建 LLM-as-a-judge 评估器,它会像在此处创建的一样显示在 LangSmith UI 中。请参阅使用 SDK 管理评估器。
要对生产追踪实时运行评估,请参阅设置在线评估。
TIP
如果你的数据集示例是使用在标注队列中编写的断言构建的,LLM-as-a-judge 评估器可以读取 example.outputs["assertions"] 并根据应用程序的输出对每个断言评分。
步骤 1. 创建评估器
- 在 LangSmith UI 中,从 Evaluators 页面或数据集/追踪项目中的 Evaluators 选项卡点击 + Evaluator。
- 在 Add Evaluator 面板中,在 Create from scratch 下选择 LLM-as-a-Judge Evaluator。或者,选择 Create from a template 从现成评估器开始并编辑它。
评估器模板
评估器模板是设置评估时有用的起点。在 Add Evaluator 面板中选择 Create from a template,浏览按类别(例如 Security、Safety 和 Quality)组织的模板。
你可以配置 LLM-as-a-Judge 评估器:
- 从 Evaluators 页面
- 作为数据集的一部分,自动对实验运行评估
- 在运行在线评估时
自定义你的 LLM-as-a-judge 评估器
为 LLM-as-a-judge 评估器提示词添加具体说明,并配置应将输入/输出/参考输出的哪些部分传递给评估器。
步骤 2. 配置评估器
Prompt
为你的评估器内联创建自定义提示词。
模型
从提供的选项中选择所需的模型。
要将决策模型(例如 SemIf 或 Jev)用作评判器,请参阅如何定义决策模型评估器。
映射变量
使用变量映射来指示从运行或示例传入评估器提示词的变量。为帮助进行变量映射,会提供一个示例(或运行)供参考。点击提示词中的变量,并使用下拉菜单将它们映射到输入、输出或参考输出的相关部分。
要添加提示词变量,如果使用 mustache 格式(默认),请使用双花括号 {prompt_var} 输入变量;如果使用 f-string 格式,请使用单花括号 {prompt_var}。
你可以根据需要移除变量。例如,如果你正在评估简洁性等指标,通常不需要参考输出,因此可以移除该变量。
预览
预览提示词会显示格式化后的提示词在使用右侧显示的参考运行和数据集示例时的样子。
使用少样本示例改进评估器
为了更好地让 LLM-as-a-judge 评估器与人类偏好对齐,LangSmith 允许你收集评估器分数的人工纠正。启用此选项后,纠正会自动作为少样本示例插入到你的提示词中。
反馈配置
反馈配置是你的 LLM-as-a-judge 评估器将使用的评分标准。可以将其视为评估器评分所依据的评分细则。分数会作为反馈添加到运行或示例中。为评估器定义反馈:
命名反馈键:这是查看评估结果时将显示的名称。名称在实验之间应唯一。
添加描述:描述反馈所代表的含义。
选择反馈类型:
- Boolean:真/假反馈。
- Categorical:从预定义类别中选择。
- Continuous:在指定范围内进行数值评分。
在幕后,反馈配置会作为结构化输出添加到 LLM-as-a-judge 提示词中。输出 schema 中的每个顶级键都会被当作一条单独的反馈。
步骤 3. 保存评估器
配置完成后,保存更改。