大模型_搭建工作流(成语接龙)
概述
我基于百炼官方文档,自主设计并实现了一套支持循环执行的“成语接龙”工作流,能够自动加载、校验并串联上下游节点,确保流程稳定高效运行。
-
• 定义 -
• 循环节点是工作流中用于处理重复任务的组件。 -
• 接受引用类型的数组输入,支持多数组时以最短长度为准,每次循环传入对应项。 -
• 通过中间变量在循环间共享数据,并配合变量设置节点动态修改变量值。 -
• 输出也是数组形式,依据实际循环次数生成。每次循环前检查终止条件,满足则结束。 -
• 循环体作为子画布,包含固定的开始和结束节点,并仅在内部显示变量设置节点。 -
• 支持记录每次执行和流式输出,提升效率与可靠性。
案例说明
总体工作流如下:

-
1. 首先使用脚本节点构造一个长度为 g
的nu ms
数组,并输出一个名为variable的数值,作为当前的成语值。 -
2. 执行循环节点,循环节点的配置信息为:
-
• 使用脚本节点构造的数组作为输入。 -
• 使用 variable
作为中间变量。 -
• 选择 variable
作为最终输出output1
,循环体中大模型节点的结果作为最终输出output2
。 -
• 当中间变量满足特定条件时,结束循环。
说明
循环次数限制为100次,大于100次可联系客服进行加白处理。
配置过程
步骤一:设置开始和脚本转换节点
配置开始节点参数

不添加参数,保持默认。
-
• 添加脚本转换节点
使用脚本节点构造一个长度为20的数字数组(类型为 Array
),并输出一个名为 variable 的字符串,history 数组及 Flag 布尔标志。
• 命名节点:构造并输出初始结果 • 输入参数:
本节点无外部输入参数。• 输出参数:
所有输出均写入result
变量对象中:
1. nums
Array—— 包含 1 到 20 的连续数字数组; 2. variable
String —— 初始值为"三心二意"
;3. history
Array—— 包含一个元素 "三心二意"
的数组,用于记录历史变量;4. Flag
Boolean —— 标志位,初始值为false
。• 说明:
• nums
必须是长度为 20 的整数数组;• variable
和history
需同步初始赋值,以便后续节点能够追踪当前值及其历史;• Flag
用于后续流程分支判断,默认false
;• 若您对输出结构做修改,请保持 result
字段下的键名不变,以确保下游节点能正确读取。• 代码: def main():
import json
ret = {
"result": {
"nums": [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
"variable":"三心二意",
"history": ["三心二意"],
"Flag": False
},
}
return ret
步骤二:设置循环节点
在循环体中配置大模型节点、变量设置节点(必选)。用户可根据具体场景,自行添加不同节点到循环体中。
-
• 配置循环节点参数配置
-
循环节点
1、循环数组:使用脚本节点构造的数组作为输入,类型为Array<String>
。
循环体的输入,必须是数组(List)类型数据,循环会按照数组的索引顺序执行。
2、中间变量:
使用variable
作为中间变量,类型为Number
。
history:所有成语接龙用过的数组
flag:是否结束的标志
3、终止变量:
flag:True就终止结束
4、输出变量:
output1:将每次的成语输出
out_his:输出所有的成语列表
-
• 添加文本转换节点
循环轮次:${Iterator_Dhlg.index}
循环节点当前轮次输入;${Script_Hfl9.result.nums}
中间变量1:${Iterator_Dhlg.variable}
中间变量2:${Iterator_Dhlg.history}

主要讲循环节点的内容以文本的形式给到大模型
-
• 主要大模型逻辑内容
建立一个qwen-max作为“成语接龙”游戏最主要的逻辑判断。
内容:
你需要做一个成语接龙的游戏,根据我提供的成语${Iterator_Dhlg.variable},进行接龙,结果只输出成语就行。
但是用过的成语不能再使用.
历史成语:${Iterator_Dhlg.history}。

-
• 脚本输出+变量设置
将大模型的输出的成语通过脚本的方式进行更新

-
• 判断大模型

根据提供的成语,判断成语中是否包含天空、地貌、颜色相关的字样,如果包含输出True,否则输出False。
如果输出的成语触发了终止隐藏条件,就将flag设置为True。直接中断输出
步骤三:设置结束节点

在测试过程中,我们可以观察到每次循环的中间过程,选择“运行结果”。可以看到每次输出的内容。

最终的结果展示,可以看到在运行到成语“昧地瞒天”中包含了地这个词,触发了结束条件,可以输出。