工作流介绍
1.工作流是什么?
工作流由多个节点组成,节点主要包含有大语言模型 LLM、代码块、做判断逻辑的选择器、插件等,不同节点需要不同信息才能进行工作,每个节点有两种信息来源,一种是引用前面节点给出的信息,另一种是开发者自己设定的信息,因此需要根据自身诉求在画布中将不同节点进行连接(即工作流搭建),才能让工作流进行运作,最终输出你要的结果。
推荐阅读《文心智能体教程:(二)工作流创建智能体》
2.有什么作用?
工作流允许用户精细控制每一步的逻辑和输出,这一能力提高了AI应用的稳定性和可复现性。通过工作流的搭建,可以让智能体更高质量的处理复杂任务
3.什么情况下需要使用它?
如果你面对的任务有很多步骤,并且对最后结果要求很严格,比如要求结果准确无误、且格式正确,这时候适合使用工作流来帮助实现
4.支持典型智能体使用场景
场景 | 导购场景 | 英语口语辅导专家 | 图文混排创作 |
流程 | 用户 query 确定意图分类(决策前期、决策中期、决策后期)——不同的用户意图使用不同插件/ HTTP 工具/知识库满足用户需求——汇总信息返回 | 用户输入语音——分场景判断——英文输入调用 HTTP 工具进行语音打分/口语纠错——模型润色后合成 TTS 输出 | 根据用户输入确认 topic——根据 topic 输出内容——拆分诗句使用插件生成图片——定义混排方式输出——汇总结果展示 |
涉及节点 | 大模型、选择器、HTTP 工具、知识库等 | 大模型、插件(搜索)、选择器、HTTP 工具 | 大模型、插件(生图)、知识库(可选) |
操作指南
1、认识工作流
- 画布:是工作流的操作面板,用户的编排行为都是在画布上完善的;
- 节点:是工作流的基础单元,工作流就是由各种节点按照逻辑连接而成;
- 线:是连接节点的唯一工具,通过节点和线的组合实现业务逻辑和流程设计。
2、操作入口:
本期操作入口有两个:可以在我的工作流进行工作流的新增、编辑;也可以在零代码创建流程中添加工作流面板进行工作流操作。
3、操作流程:
【创建工作流】——【编排工作流】——【测试工作流】——【发布工作流】——【零代码创建过程添加工作流】
1)【创建工作流】
- 一个工作流需要有自己的名称、头像和描述
- 工作流名称需要以英文字母开头,支持英文、下划线和数字;
- 工作流的描述要好好写哦,是需要被大模型理解的,所以要清晰的描述工作流的使用场景和能力边界。
- 创建后页面会自动跳转至工作流的编辑页面,初始状态下工作流包含【开始节点】和【结束节点】
2)【编排工作流】
- 在画布里,可以从画布左侧面板中拖拽你需要的节点到画布内;
- 按照任务执行顺序,把这些节点用线连接起来;
- 配置每个节点的输入或者输出参数,实现一条顺畅的数据流。
3)【测试工作流】
- 你可以对单个节点进行调试,也可以对编排后的工作流进行全局调试;
- 运行成功的节点边框会显示绿色,在各节点的右上角单击展开运行结果可查看节点的输出
4)【发布工作流】
- 只有试运行成功的工作流才可以发布哦
- 发布成功的工作流才可以被调用哦
5)【零代码创建过程添加工作流】
- 在零代码创建流程中添加工作流面板进行工作流操作
- 如何能让智能体调用工作流呢?
- 你可以在智能体的【思考路径】模块描述在什么样的场景下调用工作流,示例:当用户输入的内容是希望进行诗歌创作,则调用工作流 {multi_media_poems}
4、节点用法介绍
1)开始
工作流的起始节点
节点样式
节点说明
1、开始节点是工作流的起点
2、开始节点支持配置以下数据类型的参数:
-
- text: 标识文本类型
- String:字符串类型,用于表示文本。例如:Name = "张三"
- Number:数值类型,包括整数和浮点数。例如:Number = 42.3
- Integer:数值类型,表示整数。例如:Interger = 42
- Boolean:布尔类型,包含 true 和 false 两个值。例如:isAdult = true
- Array:整数数组类型,例如:numbers = [1, 2, 3, 4, 5]
3、agent_user_input是默认带入到工作流中的参数,为用户在本轮对话中输入到内容
4、一个工作流中只有一个开始节点,因此节点不支持复制、删除等操作,且不支持单点调试
2)大模型
调用大模型根据入参和提示词,生成回复
节点样式
节点说明
大模型节点可以使用大语言模型处理文本生成任务。节点配置说明:
-
- 模型:选择要使用的大模型,目前支持的模型有EB-4.0-8k,EB-3.5-8k,EB-Speed-128k
- 输入:配置要输入给大模型的内容
- 提示词:大模型的提示词。在提示词中支持使用 {{变量名称}}引用参数
- 输出:支持指定输出格式,包括JSON、文本、Markdown
3)知识库
根据输入的参数变量,在知识库中召回最匹配的信息,开始学习《文心智能体教程:(四)加工文档并同步到知识库》。
节点样式
节点说明
知识库节点可以在制定知识库中查询query参数并召回相关的内容。
-
- 输入:节点会根据参数值召回关键内容;
- 知识库设置:选择好知识库后,可以对选中的知识库进行「召回配置」
- 输出:输出的内容即为从知识库中召回的内容;
4)插件
根据入参调用插件,并返回插件结果,如果插件为流式输出结果则不支持在工作流中使用
节点样式
节点说明
插件节点可以选择某个插件后,在工作流中调用该插件下的能力(API)
1、第一步选择你要使用的插件,文心智能体平台提供了丰富的精选插件供开发者使用,你也可以调用个人创建的插件;
2、输入:根据你选择的插件要求的入参,配置相应的内容;
3、输出:插件的返回结果
4、当前不支持调用流式输出结果的插件;
5)HTTP请求
HTTP 模块会向外部服务发送一个 http 请求
节点样式
节点说明
HTTP 模块会向外部服务发送一个http请求获得响应结果
-
- 链接:
支持 GET/POST 请求,需要输入 API 地址; - 配置:
Params 为路径请求参数,GET 请求中用的居多; Body 为请求体,仅在 POST 请求中使用,可以写一个自定义 Json,并通过{{}}
来引入变量;
Headers 为请求头,用于传递一些特殊的信息;
鉴权方式:无需鉴权 - 配置:
支持定义输出的结构、内容
支持Json导入
- 链接:
6)选择器
判断节点入参是否满足设定的不同条件,独立运行对应的分支
节点样式
节点说明
1、该节点用于设计条件分支流程。
2、当向该节点输入参数时,节点会判断是否符合如果区域的条件,符合则执行如果对应的工作流分支,否则执行否则对应的工作流分支。
3、每个分支条件支持添加多个判断条件(且/或),同时支持添加多个条件分支
4、选择器节点不支持单点调试
7)结束
工作流的结束节点,工作流的运行结果将返回给智能体
节点样式
节点说明
1、结束节点为工作流最后一个节点,用于输出工作流的结果
2、每个工作流只有一个结束节点,因此节点不支持复制、删除等操作,且不支持单点调试
3、可以通过开关配置,选择是否要对工作流的输出内容进行指定,开关打开后可直接将输入的文本内容经模型润色后回复用户
案例示意
1、入门案例:textConclusion
- 工作流能力说明:支持对输入的文章内容进行提炼总结
2、官方工作流案例一:urlConclusion
- 可以提取url中的内容进行总结,并将总结内容翻译成英文。
3、官方工作流案例二:get3image
- 根据用户 query 抽取图片主题和所需风格,分别生成不同风格的图片,支持生成3种风格的图片
注意:某些智能体有“组”概念,可以处理组数据,不需要分支为三个分支流程处理,而是输入数据组,输出数据组。而文心智能体的处理方式虽然繁琐,但比较便于新手理解。
4、官方工作流案例三:weather_city_print
- 根据城市的名称画出当前天气的图片