本节开始,我们要结合之前学过的知识,创建一个实战案例:图书管理工作流。
温馨提示:本文内容很多,涉及贯穿了搭建扣子应用的很多知识。
如果学懂本文,你可以完全掌握了扣子搭建的原理,话不多说,上干货。
本文主要分七个部分:
一、流程分析设计
二、创建Bot
三、创建工作流
四、发布工作流
五、引入工作流
六、调式BOT
七、发布BOT
接下来让我们详细一一讲解。
01流程分析设计
图书管理工作流的作用是:通过判断图书管理员的自然语言指令的意图,来执行对应的操作。
例如:分析管理员指令,其目的是向数据库增加一本书、或是删除一本书,还是检索当前数据库中所有的图书。
我们期望的效果是:当图书管理员输入类似“请帮我查询有哪些书籍”的时候,工作流就返回当前数据库所有的图书。
当输入类似“向数据库录入XXX(书名)”的时候,就向数据库添加一本书。当输入删除指令的时候,就删除一本书。
通过分析,得出结论
1、如果要分析用户的意图,我们需要有一个理解用户语义的功能节点,这时候就需要我们的 大模型节点 出场了。(工作流中使用的节点在教程中也都有详细示例+讲解)
2、判断完管理员意图后,我们具体要执行哪个操作,是查询、添加,还是删除,这里有一个选择判断的过程,那当然得用 选择器节点 去做这个工作。
3、因为我们需要用数据库来存储书籍列表,数据库节点 肯定是必不可少的了。
经过分析,我们需要用到三个类型的节点:大模型节点 、选择器节点、选择器节点。
接下来我们就来使用这些节点来正式开始创建。
02 创建Bot
1初始化Bot
通过之前课程的学习,我们知道,如果要在工作流中使用数据库节点,一定要先在Bot中创建一个对应的数据库。
所以首先,我们要创建一个Bot,然后在Bot中建立一个数据库。
2创建数据表
点击 + 按钮,创建一个数据表。
3自定义数据表
4添加字段
到此步骤,数据表就创建完成了
接下来开始创建工作流。
03 创建工作流
1初始化工作流
创建完Bot之后,我们来进入工作流管理页面,创建工作流。
点击 创建工作流 按钮。
2填写工作流信息
3确定工作流所用节点
这里很关键:我们先把需要用到的节点先加到视图里,然后再分别对节点进行具体的设置。
从上文得知,需要用到:大模型节点 、选择器节点、选择器节点。
为了方便接下来大家的操作,做到心中有数,我先把搭建好的结构到放这里,让大家对结构有一个大体的了解,这样之后搭建起来会更容易操作。
现在正式开始向工作流中加入节点。
4添加大模型节点
大模型节点主要有两个作用:
一个是分析用户语义,判断用户是希望添加、删除还是查询书籍。
另一个作用是提取出书籍名称。
例如当图书管理员给的指令是:“添加一本《三国演义》”,那这时候大模型需要提取两个关键信息。一个是 添加,一个是《三国演义》的书籍名称。
那么接下来我们先添加两个大模型节点,分别用来返回 图书名称 和 操作类型。(正常情况下,一个大模型节点也是可以搞定的,返回一个数据对象即可,这里大家知道就可以了。为了更直观的演示流程,这里还是用两个大模型节点来演示。)
节点结构如下:
第一个是提取书名的大模型节点,它的前置节点是 开始节点,直接引用开始节点中query参数,用来获取用户的自然语言指令。
因为要提取书名,所以提示词这里我们直接写:提取{{query}}中的书名 即可。这里注意,{{query}} 对应的就是输入参数名。
详细配置:
第二个大模型节点用来分析用户意图,所以输入参数这里还是获取用户的query。
如果用户的意图和添加有关:则返回1 ;
如果和删除有关,则返回2;
否则返回3。
所以提示词可以这样写:
## 分析
分析以下使用 ``` 括起来的文本:
```
{{query}}
```
## 返回
- 如果和添加有关,则返回1
- 如果和删除有关,则返回2
- 否则返回3
详细配置:
最后输出一个type变量,值为1,2或3。
5添加选择器节点
选择器节点的前置节点是 大模型-操作类型 节点。选择器节点通过获取type的值来判断具体执行哪个操作。
这里注意要用到两个选择器节点才能做到type的3个值的判断,因为一个选择器节点只能判断是和否,所以我们要再借助一个选择器节点。
整体结构如下:
选择器-1 配置:
选择器-2配置:
6添加数据库节点
如之前的教程所讲,数据库节点是用来操作数据库的。
通过之前type的三个值,我们知道,对数据库要有三个操作:查询,添加和删除。
所以我们要添加三个数据库节点,分别用来查询,添加和删除。
对数据库的设置。
设置数据库添加节点参数:
使用自动生成SQL功能生成
使用SQL后,我们还需要修改一下SQL的变量,要把'新添加的书换成'输入参数名:{{book_name}}。
所以替换后正确的配置是这样的:
同样的方法修改数据库删除节点参数配置。
同样的方法修改数据库查询节点参数配置,注意图中所示,两个查询的name字段要对应。
7结束节点设置
结束节点 的前置节点是 数据库查询节点。我们最后希望的是:不管用户的意思图是查询,添加还是删除,最后我们都把当前数据库中的所有图书检索出来。
所以结束节点输出变量这里,要引用前置节点中outputList这个变量,这个变量一个是数组对象,简单说就是一个图片列表。
到这里为止,我们就把所有的节点都设置完成了,接来我们来调试一下,看看是否符合我们的预期要求。
8调试工作流
(1) 测试添加一本书
在工作流中点击试运行,输入:增加一本三国演义。然后选择我们之前创建好的Bot:图书管理助手。点击 运行 按钮。
可以看到,是按照预期走的添加的流程:
最终结果,可以看到《三国演义》被加到数据库中了。
再增加一本《围城》
查看结果:
可以看到《围城》已经被成功添加了,并显示了当前图片列表。
(2) 测试删除一本书
我们把之前的添加的《三国演义》删除。点击运行按钮。
可以看到,按照预期,《三国演义》被删除了,并显示了当前图片列表,只有一本之前添加《三国演义》,结果没有问题。
那么,到此为止,我们的图书管理工作流就调试完成了。接下来,我们把这个工作流引入到Bot中。
04 发布工作流
在使用工作流之前,我要发布一下。
05 引入工作流
接下来把工作流引入到Bot中进行使用
找到我们已经创建好的图书管理助手Bot。
点击 + 引入工作流
选择 WorkFlow_Books 工作流
编排 人设与回复逻辑
06 调试BOT
添加一本书:
提示图书已经成功被添加了。
那么接下来测试一下,图书是否确实加入成功了。
可以看到,《三国演义》图书确实成功加放到了数据库中,说明我们的工作流正确无误。
07 发布BOT
调试好以后,我们接下来就可以把BOT出布出去,让大家来使用了。
自动生成开场白,点击 确认 按钮。
选择一下想发布的平台,我这里选择的是发布到扣子商店,然后点击 发布 按钮。
提示审核中,然后点击 完成 按钮,一分钟左右就审核完成了。
好了,到这里,我们终于把Bot和工作流的全部流程学习完了,希望大家在本文中能有所收获。
记得点赞、分享,让更多的朋友一起探索这个IT世界的新篇章!
推荐阅读
【RPA】RPA进化论:从工具到AI——中国RPA服务行业发展报告
领取专属 10元无门槛券
私享最新 技术干货