定义
流程编排是一种面向开发者的可视化开发工具,支持LLM、API、脚本等类型节点,旨在简化接入大型语言模型(LLM)流程,同时提供应用流程的全生命周期管理,包括流程的编排、试验、部署等,为开发者提供自定义AI应用开发一站式服务。
节点类型
当前平台支持基础节点、模型节点、引用节点、函数编程节点。各节点说明请参考:
参数如何关联
流程编排中,需要显式声明流程的入参以及出参,中间过程也可能需要关联变量或中间结果(例如后面节点要使用前面节点的结果作为入参)。下面将会介绍变量如何进行声明和引用。
1、入参声明
在Start节点中的入参声明示例,如下图:
关于来源【业务透传】和【模型识别】的说明,详见Start节点说明。
2、出参声明
在End节点中的出参声明示例,如下图:
当前结束节点的内容为一段文本输出,可以将前置的节点内容在当前结束节点进行拼接加工。
节点的执行结果存储在一个名为svcVars的变量中,存储数据的结构为svcVars.${节点id}.response.${xxx}.${yyy},xxx和yyy就是具体的结果数据结构。
例如返回结果希望是大模型的返回结果,可以在输出表达式上写下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节点)执行的结果数据
最终调用大模型时,变量会得到替换。具体的取值方式可以参考流程变量含义及取值方式说明。
画布操作说明
新增节点
从左侧的节点列表拖拽具体节点到画布中。
复制节点ID
由于后续节点获取前序节点执行结果,需要知道具体节点的ID才能完成表达式的拼接,所以预留了ID的复制功能。左上角显示的也是节点的id。
删除节点
所有节点以及连线上都有删除按钮,可以点击后进行删除。
复制节点
所有节点都有复制按钮,点击后可复制相同类型的节点内容。
连接节点
只有某个节点上出现的节点类型才可以进行拖拽连接,从输出吸盘拖拽到待连接的输入吸盘。
一键优化布局
一键优化布局,可以使比较杂乱的画布重新排列,如下图。需要注意的是,优化布局前要将节点进行连接,否则会出现未连线的节点出现重叠的情况。
如何调试
用于上线前流程内调试使用,点击保存或者流程测试修改的均为草稿数据,不会对发布态的线上数据产生影响。
点击流程测试后,按要求填入参数。
点击确定,左侧随着执行的路径遍历执行过的节点,右侧显示每个节点的执行结果,最终在结束节点可以看到返回的具体参数。
如果发生了错误,左侧报错节点会红框锁定,右侧会返回报错信息,辅助调试人员排查问题。