跳到主要内容

基于指标的评估

适用于 Pro 和 Enterprise 方案

基于指标的评估适用于 Pro 和 Enterprise 方案。已注册的社区用户和 Starter 方案用户也可以在单个工作流中使用它。

什么是基于指标的评估?

当工作流准备好部署后,你通常希望在比构建阶段更多的示例上进行测试。

例如,当生产执行开始出现边缘情况时,你会希望将这些情况添加到测试数据集中,以确保它们都被覆盖到。

对于从生产数据构建的大型数据集,仅靠肉眼浏览结果很难判断整体性能。你必须对性能进行量化测量。基于指标的评估可以为每次测试运行分配一个或多个分数,并可与之前的运行进行比较。每个单独的分数会被汇总,以衡量整个数据集上的总体性能。

此功能允许你运行计算指标的评估,追踪各运行间指标的变化情况,并深入分析造成这些变化的原因。

指标可以是确定性函数(如两个字符串之间的编辑距离),也可以使用 AI 来计算。指标通常涉及检查输出与_参考输出_(也称为数据基准/ground truth)之间的差距。为此,数据集必须包含该参考输出。但某些评估不需要参考输出(例如,检查文本的情感倾向或有害内容)。

工作原理

关于 Google Sheets 的凭据

评估使用数据表或 Google Sheets 来存储测试数据集。要使用 Google Sheets 作为数据集来源,请配置 Google Sheets 凭据。

  1. 设置轻量级评估
  2. 向工作流添加指标
  3. 运行评估并查看结果

1. 设置轻量级评估

按照设置说明创建数据集并将其连接到工作流,并将输出写回数据集。

以下步骤使用与轻量级评估文档中相同的支持工单分类示例工作流:

轻量级评估工作流

2. 向工作流添加指标

指标是用于评分工作流输出的维度。它们通常将实际工作流输出与参考输出进行比较。使用 AI 来计算指标很常见,但有时也可以直接使用代码。在 n8n 中,指标始终是数字。

你需要在工作流产出输出之后的某个位置,添加计算指标的逻辑。你可以将指标所使用的任何参考输出作为数据集的一列添加,以确保它在工作流中可用(因为评估触发器会将数据集内容输出到工作流)。

使用 Set Metrics(设置指标) 操作计算以下指标:

  • Correctness(正确性,基于 AI):答案的含义是否与提供的参考答案一致。使用 1 到 5 的评分尺度,5 分最佳。
  • Helpfulness(有用性,基于 AI):回应是否回答了给定的查询。使用 1 到 5 的评分尺度,5 分最佳。
  • String Similarity(字符串相似度):答案与参考答案的接近程度,按字符逐一测量(编辑距离)。返回 0 到 1 之间的分数。
  • Categorization(分类):答案是否与参考答案完全匹配。匹配时返回 1,否则返回 0。
  • Tools Used(工具使用):执行是否使用了工具。返回 0 到 1 之间的分数。

你还可以添加自定义指标:在工作流中计算指标,然后将其映射到评估节点。使用 Set Metrics 操作并选择 Custom Metrics(自定义指标),然后设置要返回的指标名称和值。

示例:

计算指标会增加延迟和成本,因此你可能只希望在运行评估时才计算,而在生产执行中跳过。你可以通过在「检查是否正在评估」操作之后放置指标逻辑来实现这一点。

检查是否正在评估节点

3. 运行评估并查看结果

切换到工作流的 评估 标签页,点击 Run evaluation(运行评估) 按钮。评估将开始运行。完成后,将显示每个指标的汇总分数。

你可以点击测试运行行来查看每个测试用例的结果。点击单个测试用例将打开生成该结果的执行记录(在新标签页中)。