6. 输出


输出(Output)节点用于把工作流中指定的变量值,交付给最终使用者或 API 调用方。在哪里需要把结果暴露出去,就在哪里加上它。

该节点原名「结束(End)」,曾是每个工作流的必备节点,现已改为可选:缺少该节点时工作流仍可正常执行,但不含输出节点的工作流或分支不会向调用方返回任何数据。

注意:输出节点仅适用于 Workflow(工作流)。

配置输出变量

image-20260605004610702

每个输出节点至少需配置一个输出变量。配置时为变量命名,并从上游节点的输出中指定其取值来源。该名称将作为 API 响应中对应的键名。

支持的变量类型

输出变量支持以下类型:string(字符串)、number(数字)、integer(整数)、boolean(布尔)、object(对象)、file(文件),以及它们对应的数组类型 array[string]array[number]array[object]array[boolean]array[file]

多个输出节点

image-20260605004804614

一个工作流里可以有多个输出节点。输出节点不会中断工作流的执行——若还有其他并行分支,它们会在该节点完成后继续运行。

所有被执行到的输出节点,其变量会汇总成一份最终结果。每当工作流执行到一个输出节点,就把它的变量追加进这份结果:同一条分支上,按输出节点的摆放先后追加;并行分支之间,则哪个输出节点先执行,谁的变量就先追加。

需要注意的是,整个工作流里所有输出节点的变量名都应当唯一。一旦两个输出节点用了相同的变量名,后执行的那个会覆盖先前的值。

API 响应结构

通过 API 调用工作流时,输出变量会出现在响应的 outputs 对象里,每个输出变量名直接对应 outputs 里的一个键。

阻塞模式下,工作流跑完后,所有输出在一个响应里一次返回:

{
  "workflow_run_id": "...",
  "status": "succeeded",
  "outputs": {
    "result_text": "处理后的输出……",
    "score": 95
  }
}

流式模式下,输出随最后的 workflow_finished 事件返回:

{
  "event": "workflow_finished",
  "data": {
    "outputs": {
      "result_text": "处理后的输出……",
      "score": 95
    }
  }
}

作为工作流工具时

当把一个工作流发布为工具时,输出节点就定义了这个工具的返回结构:每个输出变量名会成为工具结果里的一个键,供调用该工具的父工作流取用。

评论

0
还没有评论,来写第一条吧