游乐游手机版
首页/AI热点日报/热点详情

百炼大模型工作流搭建方法

类型:热点整理2026-07-13
大模型_搭建工作流(成语接龙) 概述 这篇文章全面解析了如何在百炼平台上,构建一个可自动循环运行的“成语接龙”工作流。从设计思路到具体配置步骤,全部进行了详细拆解。核心内容涵盖三个方面:循环节点的功能定位、成语接龙工作流的完整运行逻辑,以及那些容易踩坑的关键配置要点。 简单来说,该工作流基于百炼官方

大模型_搭建工作流(成语接龙)

概述

这篇文章全面解析了如何在百炼平台上,构建一个可自动循环运行的“成语接龙”工作流。从设计思路到具体配置步骤,全部进行了详细拆解。核心内容涵盖三个方面:循环节点的功能定位、成语接龙工作流的完整运行逻辑,以及那些容易踩坑的关键配置要点。

大模型_搭建工作流(百炼)

简单来说,该工作流基于百炼官方文档的思路,设计并实现了一套支持循环执行的流程,能够自动加载数据、校验逻辑、串联上下游节点,确保整个过程稳定高效地持续运行。

先来了解循环节点

  • 循环节点本质上就是工作流里专门用于处理重复任务的组件。
  • 它接受引用类型的数组作为输入。如果同时传入多个数组,系统会以最短的那个数组长度为基准,每次循环只取对应位置的一项。
  • 可以通过一个中间变量,在循环之间共享数据。配合“变量设置节点”,还能动态修改变量的值。
  • 输出也是数组形式,数组的长度等于实际循环的次数。每次循环开始前,都会检查终止条件,条件满足则直接结束循环。
  • 循环体本身是一个独立的子画布,里面自带固定的开始节点和结束节点,变量设置节点也只有在这个子画布里才能看到。
  • 它还支持记录每次执行的日志和流式输出,这对排查问题、提升运行效率都很有帮助。

案例说明

来看一个具体的例子,整个工作流的执行步骤如下:

  1. 首先,用一个脚本节点构造了一个长度为20的数字数组(命名为num ms),同时还输出一个叫variable的数值,这个变量用来存储当前的成语值。
  2. 然后,进入循环节点。该循环节点配置了以下几个关键参数:
    • 输入数组:使用脚本节点构造的那个数组。
    • 中间变量:指定variable作为中间变量。
    • 输出变量:最终输出的output1variable的值;循环体内大模型节点生成的结果,则作为output2输出。
    • 终止条件:当中间变量满足某个特定条件时,循环就会停止。
  3. 接下来看循环体内部:流程会先展示一下输入的信息,然后调用大模型节点来生成下一个成语,再用一个脚本节点读取当前中间变量的值,最后通过“变量设置节点”更新中间变量的值。这样,一轮循环就完成了。
  4. 你可以在运行结束后,查看循环体内每个节点的输入输出信息,观察这些输入数据是怎么一步步变化的。

需要留意的一点:循环次数被限制在100次以内。如果实际业务中需要超过100次,可以联系客服申请加白处理。

配置过程

步骤一:设置开始和脚本转换节点

配置开始节点参数

这一步很简单,不需要添加任何参数,保持默认状态就好。

添加脚本转换节点

用脚本节点构造一个长度为20的数字数组(类型为 Array)。

节点命名:可以叫它“构造并输出初始结果”。

输入参数:这个节点没有外部输入参数。

输出参数:所有输出都写入一个叫result的变量对象中,具体包含以下字段:

  1. nums:一个包含1到20连续数字的数组。
  2. variable:一个字符串,初始值设为"三心二意"
  3. history:一个数组,里面只有一个元素"三心二意",用来记录已经用过的成语。
  4. Flag:一个布尔值,初始值为false,用作后续分支判断的标志位。

注意事项

  • nums必须是长度为20的整数数组。
  • variablehistory需要同步初始化,这样才能让后续节点正确追踪当前值和历史记录。
  • 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。循环体的输入必须是数组类型的数据,循环会按照数组的索引顺序逐个执行。

2. 中间变量

  • variable:类型为Number,用来存储当前成语。
  • history:一个数组,记录所有已经用过(接龙过)的成语。
  • flag:一个布尔值,用来标识是否要结束循环。

3. 终止变量:当flag的值为True时,循环就会停止。

4. 输出变量

  • output1:输出每次循环后得到的新成语。
  • out_his:输出所有成语的完整列表。

添加文本转换节点

这个节点的作用,是把循环节点运行时的各种信息,比如循环轮次、当前输入、中间变量1和中间变量2,全部整理成文本格式,方便后续传给大模型。

循环轮次:${Iterator_Dhlg.index}
循环节点当前轮次输入:${Script_Hfl9.result.nums}
中间变量1:${Iterator_Dhlg.variable}
中间变量2:${Iterator_Dhlg.history}

这样就相当于把循环节点的核心状态,以文本形式喂给了大模型。

主要大模型逻辑内容

这里用了一个qwen-max模型作为“成语接龙”游戏的核心逻辑引擎。给它输入的提示词(Prompt)是这样的:

“你需要做一个成语接龙的游戏,根据我提供的成语${Iterator_Dhlg.variable},进行接龙,结果只输出成语就行。但是用过的成语不能再使用。历史成语:${Iterator_Dhlg.history}。”

脚本输出 + 变量设置

大模型输出一个成语后,需要用脚本节点把它的输出值读取出来,再通过“变量设置节点”把这个新成语更新到中间变量里,为下一轮循环做准备。

判断大模型

另外,还需要一个专门用来做判断的大模型节点。它的任务是:根据当前生成的成语,判断它是否包含“天空”、“地貌”、“颜色”相关的字眼。如果包含,就输出True,否则输出False。一旦输出的成语触发了这个隐藏的终止条件,就把flag设置为True,循环会立即中断。

步骤三:设置结束节点

在测试的时候,可以在“运行结果”里观察到每次循环的中间过程,看到每一步的输出内容。

最终的结果很直观:当运行到成语“昧地瞒天”时,因为其中包含了“地”这个字,触发了结束条件,流程就会自动停止并输出结果。

来源:https://www.53ai.com/news/LargeLanguageModel/2025061352913.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。