Skip to main content

Human in the Loop

暂停工作流,询问一位工作区成员从选项列表中进行选择、提供文本回复,或在工作流继续之前进行批准/拒绝。 当工作流可以自动收集或准备候选选项,但需要人来做最终选择时,请使用此功能。例如,RSS 步骤可以获取新文章,然后 Human in the Loop 步骤可以询问队友接下来应研究哪篇文章。

配置

label、value 和 description 字段是相对于选项数组中每一项的路径。它们仅在 Choices 模式下适用。当选项源从现有步骤输出或起始输入示例中解析时,编辑器可以从第一个示例项建议路径。带有完整路径的嵌套同名字段可以消除歧义,例如 source.titleauthor.title。同一 JSON 对象中重复的键在 JSON 解析后无法区分。

输出

该步骤始终返回相同的顶层对象,以便在工作流运行之前接入后续步骤。 Choices 模式返回所选选项:
在运行完成之前,下游步骤仍可以针对相同的空形状进行接入:
Text 模式返回输入的答案:
Approval 模式返回所选决定。Approve 让工作流继续:
Reject 有意停止工作流并将该次运行标记为已完成:
下游步骤引用工作流构建器中显示的实际步骤标识符。例如,如果此步骤为 step_5,使用:

运行时

在等待接收者期间,工作流会被暂停。Fetch Hive 通过配置的通知渠道发送短时有效的批准链接。Email 模式发送给所选接收者。Telegram 模式发送到所选 Telegram 目的地。如果链接过期,接收者可以从批准页面请求新链接。 只有配置的接收者才能查看并提交选择,并且他们仍必须属于工作流的工作区。 在 Approval 模式下,Approve 会正常恢复工作流。Reject 被视为有意停止:Fetch Hive 记录被拒绝的输出,跳过剩余的工作流步骤,并将工作流运行标记为已完成,而不是失败。

API 行为

包含 Human in the Loop 的已部署工作流必须使用回调 URL 异步运行。同步 API 调用会返回验证错误,因为在提交人类响应之前工作流无法完成。

费用

Human in the Loop 使用固定的工作流步骤额度,且其本身不调用 LLM。

备注

  • Human in the Loop 不支持步骤级并行。
  • 在当前版本中,Human in the Loop 不能放置在迭代主体内。
  • 如果等待超时到期,该步骤将遵循其配置的失败行为:终止或继续。
  • 超时与 Reject 不同。超时遵循失败行为;Reject 有意完成该次运行。