基于指标的评估#
在 Pro 和 Enterprise 计划中可用 基于指标的评估功能适用于 Pro 和 Enterprise 计划。注册的社区版用户和 Starter 计划用户也可在单个工作流中使用该功能。
什么是基于指标的评估?#
当你的工作流准备部署时,你通常希望使用比构建阶段更多的样例进行测试。
例如,当生产环境中的执行开始暴露出一些边界情况(edge cases)时,你可以将这些情况添加到测试数据集中,以确保它们被正确处理。
对于从生产数据构建的大规模数据集而言,仅通过肉眼查看结果很难准确判断整体性能。因此,必须通过量化方式来衡量性能。基于指标的评估可以为每次测试运行分配一个或多个评分(score),并支持与之前的运行结果进行对比。各个评分会被汇总,用于衡量整个数据集上的整体表现。
该功能允许你运行计算指标的评估,跟踪不同运行之间的指标变化,并深入分析变化的原因。
这些指标可以是确定性函数(例如两个字符串之间的距离),也可以通过 AI 进行计算。通常,指标涉及检查输出结果与 参考输出(也称为真实值,ground truth)之间的差异程度。为此,数据集必须包含对应的参考输出。不过,某些评估并不需要参考输出(例如,检测文本的情感倾向或毒性内容)。
工作原理#
Google Sheets 凭据 评估使用数据表或 Google Sheets 来存储测试数据集。若要将 Google Sheets 作为数据集来源,请配置 Google Sheets 凭据。
- 设置 轻量级评估
- 向工作流中添加指标(metrics)
- 运行评估并查看结果
1. 设置轻量评估#
请按照设置说明创建一个数据集,并将其连接到你的工作流,将输出结果写回该数据集。 以下步骤使用了与轻量评估文档中相同的客户支持工单分类工作流: 轻量评估工作流
2. 向工作流添加指标#
指标(Metrics) 是用于对工作流输出进行评分的维度。它们通常会将实际的工作流输出与参考输出进行比较。计算指标时通常会使用 AI,但有时也可以直接通过代码实现。在 n8n 中,指标始终为数值。
你需要在工作流生成输出之后的某个节点,加入用于计算指标的逻辑。如果你的指标需要参考输出,可以将其作为一列添加到数据集中。这样可以确保这些参考值在工作流中可用,因为它们会被评估触发器(evaluation trigger)输出。
使用 Set Metrics 操作来计算以下指标:
- 正确性(Correctness,基于AI):答案的含义是否与提供的参考答案一致。评分范围为 1 到 5,5 表示最佳。
- 有用性(Helpfulness,基于AI):响应是否回答了给定的问题。评分范围为 1 到 5,5 表示最佳。
- 字符串相似度(String Similarity):答案与参考答案在字符级别上的接近程度(即编辑距离)。返回 0 到 1 之间的分数。
- 分类匹配(Categorization):答案是否与参考答案完全匹配。匹配时返回 1,否则返回 0。
- 工具使用情况(Tools Used):执行过程中是否使用了工具。返回 0 到 1 之间的分数。
你还可以添加自定义指标。只需在工作流内部完成指标的计算,然后将其映射到一个 Evaluation 节点中。使用 Set Metrics 操作,并选择 Custom Metrics 作为指标类型。随后你可以设定要返回的各个指标的名称和值。
例如:
- RAG 文档相关性(RAG document relevance):在使用向量数据库时,判断检索到的文档是否与问题相关。
计算指标可能会增加延迟和成本,因此你可能只希望在运行评估时进行计算,而在生产环境中执行工作流时避免计算。你可以通过将指标逻辑放在一个 “检查是否正在评估”操作 之后来实现这一点。 检查是否正在评估节点
3. 运行评估并查看结果#
切换到工作流中的 Evaluations(评估) 选项卡,然后点击 Run evaluation(运行评估) 按钮。评估将开始运行。评估完成后,系统会显示每个指标的汇总分数。
你可以通过点击测试运行的行来查看每个测试用例的结果。点击单个测试用例将会打开生成该结果的执行记录(在新标签页中)。