DataWhale之工作流
工作流:制作复杂Agent的福音!
通过前面的学习大家已经可以制作一些agent应用,但大家可能会发现,好像就是一个Prompt工程,好像并没有完成Agent整体框架的搭建?是不是缺点什么?
可以回顾一下,Lilian Weng定义的Agent结构图
所以,这一节我们将通过 工作流 拼上 agent开发 的完整拼图 —— 把 记忆、工具调用、步骤规划等 丝滑地结合、搭建起来!。
工作流低代码开发模式
工作流开发模式的加入,对于agent开发来说是一个里程碑事件。
支付宝百宝箱支持通过低代码模式,把原先代码开发的任务转换成节点的拼接,省去了编写代码的烦恼。
不同的节点组合也能让agent具备更强大的功能。
在支付宝百宝箱里你可以无限使用夸克搜索、知识库、代码、分支等 插件或节点(可以理解为通用的内置功能模块) 组合和套娃 ,实现复杂功能!
一个工作流示例
二、支付宝百宝箱中工作流介绍
需要新建工作流模式的应用
这里和创建其他应用一致,点击新建应用就可以创建一个工作流。
点击查看界面介绍
-
左上角是题目区域,大家可以随时修改
-
旁边是设置任务类型的地方,目前有任务模式、对话模式两种。但是设置了对话模式就切不回来咯请大家注意。
这里任务模式是指完成某项任务,不会重复对话。对话模式指用户可以多轮对话与 Agent做交互。
-
左侧这个区域是节点区域,将工作流需要的功能模块化列在这里。下面我们会对节点一一介绍。
-
最中间部分区域是工作流的画布,你可以在这个区域将节点拖拽到画布中,然后使用节点连线将节点们串起来。
注意,创作时必须有开始节点和结束节点,而且开始和结束节点是唯一的。开始节点只能往出引节点连线,而结束节点只能接受节点连线,中间的节点必须有出入连线,如果没有出入节点连线,设计的节点就不会被使用。这里大家可以理解为画电路图,有出和入电路才会通路。
-
右上角有一部分是画布调整区域,可以放大缩小等。
-
最右上角是运行和发布区域,运行按钮用于测试整个工作流。如果测试无误大家就可以点击发布进行应用发布。
点击查看不同的节点介绍
接下来我们逐一介绍几个常用的核心节点。
剩下大家可以自行学习探索~
【必须有的】开始节点
开始节点在工作流最开始会默认加入,我们看看有哪些细节要注意~其实开始节点目的是为了让工作流收集启动变量,这些变量需要用户输入接着用于其他节点配合使用。所以在配置时你需要想好需要用户输入什么,以及输入的怎么用。
①位置是测试开始节点内容。
④是修改变量名,可以传到下游的节点使用。
这里的②和③位置打开都是如下编辑字段设置的界面,
②是添加变量,可以选择单行、多行、下拉选项、上传图片。
③是修改变量设置
需要输入名称、描述、字数限制及是否必填,在下拉选择稍有不同,下拉选择需要填入选项的文本。
【必须有的】结束节点
结束节点是整个工作流的输出,选项中选择一个变量作为整体工作流的输出即可。
文本大模型
① 是节点测试按钮,可以单独测试大模型。
② 是模型选择,可以使用不同大模型。
③ 是模型高级设置,这里可以配置json输出模式及模型的参数。
④ 是提示词区域
⑤ 可以点击AI生成使用ai优化提示词,当需要输入变量(变量来自上一个节点)时,可以在提示词中预留变量的位置。
⑥ 是定义输出的名字,比如你有很多个大模型你可以写“大模型1结果”这样的字样方便标记与使用。
插件节点
这里是插件节点的主页,打开可以看到有很多种类的插件。
你可以在②中按需要查询插件。
当找到合适插件时可以点击③位置的三角展开插件,
找到需要的功能点击④这样的添加按钮。
当所有插件都无法满足需求时你可以点击①位置新建插件。
当选择某个插件后一般会有输入值与输出值两个区域,输入区域需要大家配好前面节点传入变量,这个变量可以是开始中收集的变量或是大模型的输出变量等等。
知识库节点
这里需要大家配置知识库,点击添加知识库即可。
这里面需要大家选择已有知识库或者创建新的知识库。目前有个小问题,如果知识库有但是不是需要的怎么办?你可以输入一个不相关的关键字搜索,也会跳到创建知识库的窗口或者直接点:百宝箱在知识库页面创建。
三、设计工作流
-
做选题调研 :明确整个模型的输入输出。
-
功能模块设计 :思考需要用到功能模块,比如会用到什么知识库、插件、代码的组合、意图识别。
-
组合完整工作流 :明确数据从输入到输出的整个过程,具体需要由什么节点到什么节点。
如果需要的功能较为复杂可以将一个工作流拆分成多个工作流,最后将多个工作流作为独立节点组合在一个总工作流中。
-
模块测试 :需要测试prompt稳定性测试及每个节点的测试。
-
应用发布