什么是流程编排

重要

为满足更丰富的编排需求,流程编排功能已全面升级为工作流应用和智能体编排应用。流程编排功能将逐步下线,但此变动不影响已经使用了流程编排功能的用户。您可以继续使用流程编排功能,也可以改为使用工作流应用或智能体编排应用,以获得更好的使用体验。具体请参见工作流应用智能体编排应用

定义

流程编排是一种面向开发者的可视化开发工具,支持LLM、API、脚本等类型节点,旨在简化接入大型语言模型(LLM)流程,同时提供应用流程的全生命周期管理,包括流程的编排、试验、部署等,为开发者提供自定义AI应用开发一站式服务。

节点类型

当前平台支持基础节点、模型节点、引用节点、函数编程节点。各节点说明请参考:

Start节点使用说明

LLM节点说明

API调用节点说明

Script节点使用说明

函数计算节点使用说明

判断节点使用说明

End节点使用说明

参数如何关联

流程编排中,需要显式声明流程的入参以及出参,中间过程也可能需要关联变量或中间结果(例如后面节点要使用前面节点的结果作为入参)。下面将会介绍变量如何进行声明和引用。

1、入参声明

Start节点中的入参声明示例,如下图:

image

关于来源【业务透传】和【模型识别】的说明,详见Start节点说明。

2、出参声明

End节点中的出参声明示例,如下图:

image

当前结束节点的内容为一段文本输出,可以将前置的节点内容在当前结束节点进行拼接加工。

重要

节点的执行结果存储在一个名为svcVars的变量中,存储数据的结构为svcVars.${节点id}.response.${xxx}.${yyy},xxxyyy就是具体的结果数据结构。

例如返回结果希望是大模型的返回结果,可以在输出表达式上写下svcVars.LLM_DGc2XV.response.text

{
    "svcVars":{
        "LLM_DGc2XV":{
            "params":{
                "modelId":"qwen-plus-v1",
                "prompt":"你是一个音乐播放器,根据下面的描述,推荐一首适合这个天气挺的歌曲${data}"
            },
            "response":{
                "text":"根据你的描述,推荐一首适合这种天气的歌曲是周杰伦的《晴天》。这首歌的旋律轻松愉快,歌词也充满了阳光和活力,非常适合在这种晴朗温暖的天气中欣赏。"
            }
        }
    }
}

3、在不同节点中如何关联变量

在不同节点中,入参均可以关联已有变量的值,可以使用EL表达式来表示。关联的值来源有2个,可以通过bizVars引用入参当中声明的变量值,也可以引用节点执行的中间过程的变量,例如在大模型的prompt引用变量:

${bizVars.abc} 是引用入参abc

${svcVars.Plugin_0ebur6.response.data} 是引用Plugin_0ebur6节点(API节点)执行的结果数据

image最终调用大模型时,变量会得到替换。具体的取值方式可以参考流程变量含义及取值方式说明

画布操作说明

新增节点

从左侧的节点列表拖拽具体节点到画布中。

image.png

复制节点ID

由于后续节点获取前序节点执行结果,需要知道具体节点的ID才能完成表达式的拼接,所以预留了ID的复制功能。左上角显示的也是节点的id。

image.png

删除节点

所有节点以及连线上都有删除按钮,可以点击后进行删除。

image.png

复制节点

所有节点都有复制按钮,点击后可复制相同类型的节点内容。

image.png

连接节点

只有某个节点上出现的节点类型才可以进行拖拽连接,从输出吸盘拖拽到待连接的输入吸盘。

image.png

一键优化布局

一键优化布局,可以使比较杂乱的画布重新排列,如下图。需要注意的是,优化布局前要将节点进行连接,否则会出现未连线的节点出现重叠的情况。

image

image

如何调试

用于上线前流程内调试使用,点击保存或者流程测试修改的均为草稿数据,不会对发布态的线上数据产生影响。image

点击流程测试后,按要求填入参数。

image

点击确定,左侧随着执行的路径遍历执行过的节点,右侧显示每个节点的执行结果,最终在结束节点可以看到返回的具体参数。

image

如果发生了错误,左侧报错节点会红框锁定,右侧会返回报错信息,辅助调试人员排查问题。

image