Skip to content

提示和常见问题

组合多个触发器

如果工作流中已有其他触发器,则有两个潜在的起点:该触发器和评估触发器。为了确保无论执行哪个触发器,工作流都能按预期工作,您需要将这些分支合并在一起。

合并触发分支
将两个触发分支合并在一起的逻辑,以便它们具有相同的数据格式并且可以从单个节点引用。

要做到这一点:

  1. 获取另一个触发器的数据格式
    • 执行另一个触发器。
    • 打开它并导航到其输出窗格的 JSON 视图。
    • 点击
    • 右侧的
    • 复制
    按钮。
  2. 重塑评估触发器数据以匹配
    • 在评估触发器后
    • 插入一个
    并将它们连接在一起。
    • 将其模式更改为
    • JSON
    • 将数据粘贴到“JSON”字段中,删除
    • 第一行和最后一行的
    • “和”
    • 将字段类型切换为
    • “表达式”
    • 将触发器中的数据从输入窗格拖入映射。
    • 对于字符串,请确保替换整个值(包括引号)并将其添加
    • 到表达式的末尾。
  3. 使用“无操作”节点合并分支:插入一个“无操作”节点,并将另一个触发器和“设置”节点连接到该节点。“无操作”节点只会输出它接收到的任何输入。
  4. 在工作流程的其余部分中引用“No-op”节点输出:由于两条路径都将以相同的格式流经此节点,因此您可以确保输入数据始终存在。

避免评价打断聊天

n8n 的内部聊天会读取工作流中最后一个执行节点的输出数据。使用“设置输出”操作添加评估节点后,此数据可能不符合预期格式,甚至可能不包含聊天响应。

添加第二个输出分支

解决方案是添加一个从代理发出的额外分支。较低的分支在 n8n 中执行较晚,这意味着您附加到此分支的任何节点都将最后执行。您可以在此处使用无操作节点,因为它只需要传递代理的输出。

计算指标时访问工具数据

有时您需要了解代理已执行子节点中发生的情况,例如检查它是否执行了某个工具。您无法直接使用表达式引用这些节点,但可以在代理中启用“返回中间步骤”选项。这将添加一个名为 的额外输出字段,您可以在后续节点中使用它:

启用返回中间步骤

同一工作流程中的多次评估

每个工作流只能设置一次评估。换句话说,每个工作流只能设置一个评估触发器。

即便如此,您仍然可以通过将工作流程的不同部分放入子工作流程中并评估每个子工作流程来使用不同的评估来测试工作流程的不同部分。

处理不一致的结果

指标通常可能存在噪声:在完全相同的工作流程的评估运行中,它们可能会有所不同。这是因为工作流程本身可能返回不同的结果,或者任何基于 LLM 的指标本身都可能存在自然差异。

您可以通过复制数据集的行来弥补这一点,这样每一行在数据集中都会出现多次。这意味着每个输入实际上都会运行多次,从而消除任何差异。