更新时间:2026-03-20 GMT+08:00
分享

变量聚合

变量聚合节点将多个分支的输出变量汇聚为一个统一变量,供下游节点引用。它的核心能力是:从多个分支的输出中,按照用户指定的优先级顺序,返回第一个非空值

配置变量聚合节点

配置变量聚合节点时,需要选择聚合策略和聚合变量,并按需设置聚合分组。

聚合策略:

通过指定策略对每个分组中的所有变量进行聚合处理,同一组内的变量实施相对应的聚合策略。

目前聚合策略仅支持设置为“返回每个分组中第一个非空值”,分组内变量的排列顺序决定了非空值的检查优先级,支持拖动变量、调整变量位置,排在最上方的变量优先级最高。

例如,如图1所示,Group1组内按顺序设置三个变量output1、output2和output3,将其聚合为一个变量Group1,如果output1不为空,则用output1的值为Group1赋值;如果output1为空,则取output2的值,依次类推。

图1 配置示例

聚合变量:

在聚合分组中选择需要聚合的变量,同一分组内的所有变量必须是相同的数据类型。

例如将多个String类型的变量聚合为一个String变量、将多个Integer类型的变量聚合为一个Integer变量,如图2所示。

图2 配置示例

聚合分组:

默认一个分组Group1。如需聚合多个不同用途/类型的变量,单击添加按钮创建新分组。

默认只有一个分组Group1,对应一个输出变量Group1。分组中所有变量类型相同。如果需要输出多个变量,可以添加多个分组,依次递增为Group2、Group3等。

输出参数:

输出参数固定为Group1,是分组Group1聚合的返回结果,具体的值取决于聚合策略。如果有多个分组则根据分组数量递增为Group2、Group3等。

输出参数的数据类型与对应分组内变量类型一致。

相关操作

  • 单击节点名称,可修改节点名称。
  • 单击图标,可对节点进行重命名、复制或删除;也可以将节点连接到结束节点。
  • 单击名称下面的节点说明,可修改节点的描述信息。
  • 单击图标,可查看文档信息。

示例

以多语言翻译助手为例,开始节点接收用户需要翻译的文本以及用户指定的目标语言(英文,日文,韩文),判断节点根据目标语言判断翻译方向,并流转至不同语言的翻译分支,例如日文翻译流转给“翻译为日文”分支的大模型来翻译。三个分支均汇总到变量聚合节点,汇总为1个参数,即需要翻译的文本Group1,并传递到结束节点展示给用户。

图3 工作流

工作流核心节点如表1所示。

表1 节点配置说明

节点类型

说明

示例

开始节点

添加一个必选的输入参数,即用户需要翻译成的目标语言。

  • 参数名称:target_lang
  • 参数类型:String
  • 描述:用于接收用户指定的目标语言(如需翻译为英文,请输入en;如需翻译为日文,请输入ja,如需翻译为韩文,请输入ko)
  • 必填:勾选。

判断节点

此节点用于根据用户在开始节点输入的target_lang的值判断翻译方向。

由于有英文、日文和韩文三个分支方向,因此单击“添加分支”,将判断节点确定为:IFELSE IF 1ELSE分支。

  • IF分支:开始节点的target_lang的值=en
  • ELSE IF 1分支:开始节点的target_lang的值=ja
  • ELSE分支:默认为开始节点的target_lang的值为ko

大模型节点-翻译为英文

此节点将用户输入的文本翻译为英文。

  • 模型配置:选择Kimi-K2模型。
  • 输入参数:
    • query:引用开始节点的query。
    • target_lang:引用开始节点的target_lang。
  • 输出参数:将大模型翻译后的内容,在输出参数中定义,并在描述中说明该参数的字段含义,便于大模型理解。

    定义内容如下:

    translate_to_en:类型为“String”,描述为英文翻译结果。

  • 提示词配置:
    • 系统提示词:定义一段系统提示词,如下所示:
      你是一个专业的翻译助手,请将以下内容准确地翻译成{{target_lang}}。
      文本为:{{query}}
      仅输出翻译结果,不要包含任何其他解释。
    • 用户提示词:引用当前的输入参数query,即引用用户的原始输入。
      {{query}}

大模型节点-翻译为日文

此节点将用户输入的文本翻译为日文。

  • 模型配置:选择Kimi-K2模型。
  • 输入参数:
    • query:引用开始节点的query。
    • target_lang:引用开始节点的target_lang。
  • 输出参数:将大模型翻译后的内容,在输出参数中定义,并在描述中说明该参数的字段含义,便于大模型理解。

    定义内容如下:

    translate_to_ja:类型为“String”,描述为日文翻译结果。

  • 提示词配置:
    • 系统提示词:定义一段系统提示词,如下所示:
      你是一个专业的翻译助手,请将以下内容准确地翻译成{{target_lang}}。
      文本为:{{query}}
      仅输出翻译结果,不要包含任何其他解释。
    • 用户提示词:引用当前的输入参数query,即引用用户的原始输入。
      {{query}}

大模型节点-翻译为韩文

此节点将用户输入的文本翻译为韩文。

  • 模型配置:选择Kimi-K2模型。
  • 输入参数:
    • query:引用开始节点的query。
    • target_lang:引用开始节点的target_lang。
  • 输出参数:将大模型翻译后的内容,在输出参数中定义,并在描述中说明该参数的字段含义,便于大模型理解。

    定义内容如下:

    translate_to_ko:类型为“String”,描述为韩文翻译结果。

  • 提示词配置:
    • 系统提示词:定义一段系统提示词,如下所示:
      你是一个专业的翻译助手,请将以下内容准确地翻译成{{target_lang}}。
      文本为:{{query}}
      仅输出翻译结果,不要包含任何其他解释。
    • 用户提示词:引用当前的输入参数query,即引用用户的原始输入。
      {{query}}

变量聚合节点

此节点将三个翻译分支的输出参数汇总为统一的一个参数,即需要翻译的文本Group1,供下游节点引用。

结束节点

此节点用于输出翻译后的内容。

输入参数:

result:引用变量聚合节点的group1。

在试运行配置界面输入翻译的目标语言,例如“en”,工作流运行的效果如图4所示;在试运行配置界面输入翻译的目标语言为“ja”,工作流运行效果如图5所示。

图4 效果示例(翻译为英文)
图5 效果示例(翻译为日文)

常见问题

  • 为什么聚合结果为空?

    所有分支的输出变量均为空,聚合节点无法找到非空值。解决方法如下:

    1. 检查各分支是否正确配置了输出变量。
    2. 检查条件分支逻辑,确保至少有一条分支会执行。
    3. 考虑添加一个“兜底分支”,确保总有一个非空输出。
  • 配置变量聚合节点时,为什么无法将某个变量添加到分组?

    该变量的数据类型与分组内已有变量的类型不一致,请确保同一分组内所有变量类型必须一致。如需聚合不同类型,请创建新的分组(Group2)

  • 聚合结果取到了错误分支的值是什么原因?

    变量在分组内的排列顺序(优先级)不正确。建议将期望优先返回的分支变量移到最上方。

  • 新增分支后,为什么聚合节点未输出新分支的值?

    新增分支的输出变量未被添加到聚合节点的分组中,打开聚合节点配置面板,在对应分组中添加新分支的输出变量。

相关文档