存储和管理所有评估器数据,包括自定义评估器和预置评估器
评估器是应用评测的核心组件,用于自动评估应用输出质量。Evolution 提供丰富的预置评估器模板,同时支持自定义 LLM 评估器和 Code 评估器,帮助您构建适合业务场景的评测体系。
Evolution 提供多个预置评估器模板,覆盖多种评测场景。预置评估器支持按以下维度筛选,筛选条件可多选,同维度内取并集、不同维度之间取交集:
配置步骤
轨迹评估器以轨迹数据为评估对象,评估 Agent 执行过程的可靠性。预置轨迹评估器如下:
点击评估器页面右上角的创建评估器按钮,然后点击自定义创建评估器进入创建页面。
LLM 评估器使用大模型对应用输出进行评分,适用于需要语义理解的评测场景。
配置步骤
Code 评估器使用 Python 脚本实现评估逻辑,适用于需要精确规则判断的评测场景。
配置步骤
基于评测任务创建评估器,是通过历史评测任务的标注结果,自动抽象并总结为新的 LLM 评估器。该方式适用于已有人工标注数据,希望将标注经验固化为自动化评估规则的场景。
配置步骤
在自定义评估器列表页面,可按类型或名称筛选评估器,也可对指定评估器进行管理。
评估器创建后,需要在评测任务中添加并配置参数映射,才能真正发挥作用。
评测任务完成后,在任务详情页查看评估器结果。详情请查阅评测任务。
评测任务列表包含评测状态、任务名称、评测集名称、应用及评分(通过率)、评估器详情 自动、标签详情 人工、Token 消耗、评测时间和操作列。评估器详情 自动列展示各自动评估器的运行状态(进行中或完成)及通过率。操作列提供详情、终止和删除链接。
建议:
基于预置评估器模板创建
Evolution 提供多个预置评估器模板,覆盖多种评测场景。预置评估器支持按以下维度筛选,筛选条件可多选,同维度内取并集、不同维度之间取交集:
- 类型:LLM、Code。
- 评估对象:文本、Agent、轨迹、多模态(多模态评估器暂未上线)。
- 标签:通用质量、任务执行、文本匹配、文本相似度、格式校验。
评测集字段规划:不同预置评估器对评测集的字段有不同要求。建议在构建评测集前,先确认要使用的评估器所需的必选参数,提前在评测集中包含对应字段。例如:评测任务关联「问答相关性」评估器时,必选参数为
query 和 response,因此构建评测集时字段需包含 query(对应 Prompt 字段)与 response(对应 Completion 字段)。您可以点击预置评估器模板卡片上的查看详情,了解该评估器的必选参数列表,据此规划评测集字段。- 点击评估器页面右上角的创建评估器按钮,可选择基于预置评估器模板创建评估器。
- 点击指定模板卡片上的基于预置创建快速创建评估器,可根据需求调整信息。
- 然后在试运行验证区域点击开始运行,确保评估逻辑符合预期,点击创建即可保存。
- 点击查看详情,可查看当前评估器模板的参数信息。
使用轨迹评估器时,评测集中须包含轨迹类型的列,并在评测任务中将评估器的轨迹变量映射到该列。轨迹评测集的构建方式参考添加轨迹评测数据。也可基于预置轨迹评估器模板复制修改,或自定义创建轨迹类型的评估器。
轨迹评估器
轨迹评估器以轨迹数据为评估对象,评估 Agent 执行过程的可靠性。预置轨迹评估器如下:
| 评估器 | 类型 | 标签 | 说明 |
|---|---|---|---|
| 轨迹准确性 | LLM | 任务执行 | 评估轨迹(动作序列、工具调用和响应)在实现用户目标方面的整体正确性和有效性 |
| 动作循环检测(ATIF) | Code | 任务执行 | 检测 Agent 是否重复使用相同参数调用同一工具,失败后的首次重试不记为循环 |
| 回答忠实度(ATIF) | LLM | 通用质量 | 评估最终回答中的事实性陈述是否得到轨迹内工具、检索及其他步骤结果的支持 |
| 执行成功性与错误定位(ATIF) | Code | 任务执行 | 判断 Agent 轨迹是否完成执行,并定位失败步骤及直接错误原因 |
| 最终回答有害性(ATIF) | LLM | 通用质量 | 评估 Agent 最终回答是否包含危险指导、自伤、仇恨、隐私泄露或其他有害内容 |
| 观察信息增益(ATIF) | LLM | 任务执行 | 评估工具或检索步骤返回的观察结果是否为解决用户任务提供了新的、相关信息 |
| 检索有效性(ATIF) | Code | 任务执行 | 统计检索类步骤中返回实质性结果的占比,并定位空结果步骤 |
| 工具调用成功率(ATIF) | Code | 任务执行 | 统计 Agent 运行轨迹中工具调用步骤的成功率,并列出失败的工具 |
| 轨迹准确性(ATIF) | LLM | 任务执行 | 评估轨迹(动作序列、工具调用和响应)在实现用户目标方面的整体正确性和有效性 |
| 轨迹帮助性(ATIF) | LLM | 任务执行 | 评估 Agent 执行轨迹(工具调用与推理步骤)对解决用户原始问题的帮助程度 |
自定义创建评估器
点击评估器页面右上角的创建评估器按钮,然后点击自定义创建评估器进入创建页面。
创建 LLM 评估器
LLM 评估器使用大模型对应用输出进行评分,适用于需要语义理解的评测场景。
配置步骤
-
进入自定义创建评估器页面,填写基本信息:
- 评估器名称:限制 50 字符。
- 描述:限制 200 字符,用于说明评估器用途。
- 创建方式选择 LLM。
- 选择模型:点击选择模型下拉框,选择用于评估的大模型,评估模型限时免费。
- Prompt:在 Prompt 编辑框中设计评估规则,可点击选择预置评估器导入规则。
-
配置评分规则:
- 评分范围:决定评估器的打分尺度。评分范围会作为提示词加入系统提示词中,在编辑系统提示词时,需保持评分范围和系统提示词规则一致。
- 通过阈值:决定评测结果的 Pass / Fail 状态。评分 ≥ 阈值为 Pass,< 阈值为 Fail。
- 试运行验证:为每个被引用参数填写测试值进行验证,点击开始运行,确保评估逻辑符合预期,点击创建即可保存。
创建 Code 评估器
Code 评估器使用 Python 脚本实现评估逻辑,适用于需要精确规则判断的评测场景。
配置步骤
-
进入自定义创建评估器页面,填写基本信息:
- 评估器名称:限制 50 字符。
- 描述:限制 200 字符,用于说明评估器用途。
- 创建方式选择 Code。
-
入参设置:
- 默认参数:系统预置
query和response两个参数,可根据需要修改或删除。 - 添加参数:可点击添加变量按钮,定义函数输入参数。
- 默认参数:系统预置
-
执行函数:在代码编辑器中编写 Python 3.10 函数。
代码要求:
- 函数签名必须包含入参设置中定义的所有参数。
- 函数必须返回评分结果(数值类型,在评分范围内)。
- 建议包含错误处理逻辑。
- 评分范围:决定评估器的打分尺度。评分范围会作为提示词加入系统提示词中,在编辑系统提示词时,需保持评分范围和系统提示词规则一致。
- 通过阈值:决定评测结果的 Pass / Fail 状态。评分 ≥ 阈值为 Pass,< 阈值为 Fail。
-
试运行验证:输入测试数据,数据格式需包含所有入参,点击开始运行,查看评分结果或错误信息,点击创建即可保存评估器内容。
测试数据示例:
基于评测任务创建评估器
基于评测任务创建评估器,是通过历史评测任务的标注结果,自动抽象并总结为新的 LLM 评估器。该方式适用于已有人工标注数据,希望将标注经验固化为自动化评估规则的场景。
配置步骤
-
进入自定义创建评估器页面,填写基本信息:
- 评估器名称:限制 50 字符。
- 描述:限制 200 字符,用于说明评估器用途。
- 创建方式选择 基于评测任务。
- 选择模型:点击选择模型下拉框,选择用于评估的大模型,评估模型限时免费。
- 选择评测任务:从下拉列表中选择已完成标注的历史评测任务。系统将基于该任务的标注结果学习评估规则。
-
配置字段映射:从下拉列表中选择评测集字段或应用输出的字段。系统预置参数:
- query(String):用户输入的问题或查询,需映射到评测集中的问题字段(例如:Prompt 字段)。
- response(String):待评估的应用输出或评测集字段(例如:Completion 字段)。
- label_score(Number):人工标注的分数,映射到评测任务中使用的评估器输出分数。
query映射到评测集的数据字段。label_score映射到评测任务中的评估器(显示为「评估器名称_版本号 自动」)。- 只有已完成评估的评测任务才能用于创建评估器,未完成的评测任务会提示「评测任务中的该评估器状态未完成」。
-
任务描述(可选):填写评估任务的完整背景信息,包括:
- 系统用途(如「医学问答系统」)。
- 目标用户群体。
- 使用场景(如「面向医疗专业人员,提供快速准确的临床问答」)。
- 该描述将用于自动生成评估标准和最终的评估 Prompt。
- 评估器语言:选择评估器的输出语言,支持中文或英文。
-
配置评分规则:
- 评分范围:决定评估器的打分尺度。
- 通过阈值:决定评测结果的 Pass / Fail 状态。评分 ≥ 阈值为 Pass,< 阈值为 Fail。
- 完成配置后点击右上角创建按钮保存评估器。
基于评测任务创建的评估器不支持试运行功能,需要在评测任务中实际使用后查看效果。
- 必须选择已完成评估的评测任务,未完成的任务无法用于创建评估器。
- 建议选择标注数据量充足且标注质量较高的评测任务,以获得更准确的评估器。
label_score字段映射的是评测任务中评估器的输出分数,而非评测集的原始字段。
管理评估器
在自定义评估器列表页面,可按类型或名称筛选评估器,也可对指定评估器进行管理。
- 筛选和搜索:可按 LLM、Code 类型筛选评估器,也可在搜索框输入评估器名称(支持模糊匹配),限制 50 字符。
- 编辑:编辑页面会显示历史版本列表,选中指定版本后点击覆盖当前草稿可切换查看不同版本的配置。
- 复制:基于当前最新版本创建副本,自动带入所有配置。
- 删除:评估器删除后无法恢复,请谨慎操作。如果评估器被评测任务使用,将无法删除。因此删除评估器前,需确认没有评测任务依赖该评估器。
在评测任务中使用评估器
评估器创建后,需要在评测任务中添加并配置参数映射,才能真正发挥作用。
-
在创建评测任务时,点击添加评估器,选择需要使用的评估器及其版本号。
选择评估器类型为自定义评估器或预置评估器,然后在字段映射区域将每个评测任务最多支持添加 10 个评估器。
query、context、reference_response等字段映射到评测集对应字段,配置完成后单击完成创建。 -
选择评估器后,需要完成参数映射,告诉系统「评估器的参数从哪里获取数据」。
假设创建了一个 LLM 评估器,Prompt 中引用了 3 个变量:
query:用户问题。reference:参考答案。response:待评估回答。
评估器参数 映射到 说明 query 评测集字段:question 从评测集的 question 字段获取用户问题 reference 评测集字段:标准答案 从评测集的「标准答案」字段获取参考答案 response 模型输出或评测集字段 从应用的实际输出或评测集的字段获取待评估内容
查看评估结果
评测任务完成后,在任务详情页查看评估器结果。详情请查阅评测任务。
评测任务列表包含评测状态、任务名称、评测集名称、应用及评分(通过率)、评估器详情 自动、标签详情 人工、Token 消耗、评测时间和操作列。评估器详情 自动列展示各自动评估器的运行状态(进行中或完成)及通过率。操作列提供详情、终止和删除链接。
常见问题
评估器和评测任务的关系?
评估器和评测任务的关系?
评估器:定义「如何评分」的规则;评测任务:应用评估器对具体数据进行评测。一个评估器可以被多个评测任务使用。
如何选择 LLM 和 Code 评估器?
如何选择 LLM 和 Code 评估器?
| 对比项 | LLM 评估器 | Code 评估器 |
|---|---|---|
| 评估方式 | 大模型语义理解 | 代码规则判断 |
| 优势 | 灵活,适应复杂场景 | 精确,可重复 |
| 适用场景 | 相关性、有害性、幻觉检测 | 格式校验、数值计算、精确匹配 |
| 成本 | 调用大模型产生 Token 费用 | 无额外费用 |
- 需要理解语义和上下文 → 选择 LLM 评估器。
- 需要精确规则和确定性结果 → 选择 Code 评估器。
- 复杂评测场景 → 组合使用多个评估器。
如何提高 LLM 评估器的准确性?
如何提高 LLM 评估器的准确性?
- 选择合适的模型:建议使用 32B 以上参数量的模型。
- 优化 Prompt:明确评分标准和评估步骤;提供清晰的输出格式要求;使用示例说明预期行为。
- 调整评分范围:根据场景选择合适的评分范围。
- 试运行验证:创建前使用多组测试数据验证效果。