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