扣子工作流实战案例教程,手把手教你搭建一个图书管理工作流

news2024/12/27 12:32:22

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。

📜 吾之教程,内含诸般技术之秘诀。吾欲以此笔记,传授编程之道,助汝解技术难题。

🚀 温馨提示:本文内容很多,涉及贯穿了搭建扣子应用的很多知识。没看过的教程的同学,一定关注文章最后公众号后再看,不然容易找不到。如果学懂本文,你可以完全掌握扣子搭建的原理,话不多说,上干货。😊

本节开始,我们要结合之前学过的知识,创建一个实战案例:图书管理工作流。

本文主要分七个部分:

一、流程分析设计

二、创建Bot

三、创建工作流

四、发布工作流

五、引入工作流

六、调式BOT

七、发布BOT

接下来让我们详细一一讲解。

 

一、流程分析设计

图书管理工作流的作用是:通过判断图书管理员的自然语言指令的意图,来执行对应的操作。

例如:分析管理员指令,其目的是向数据库增加一本书、或是删除一本书,还是检索当前数据库中所有的图书。

我们期望的效果是:当图书管理员输入类似“请帮我查询有哪些书籍”的时候,工作流就返回当前数据库所有的图书。

当输入类似“向数据库录入XXX(书名)”的时候,就向数据库添加一本书。当输入删除指令的时候,就删除一本书。

通过分析,得出结论

1、如果要分析用户的意图,我们需要有一个理解用户语义的功能节点,这时候就需要我们的 大模型节点 出场了。(工作流中使用的节点在教程中也都有详细示例+讲解)

2、判断完管理员意图后,我们具体要执行哪个操作,是查询、添加,还是删除,这里有一个选择判断的过程,那当然得用 选择器节点 去做这个工作。

3、因为我们需要用数据库来存储书籍列表,数据库节点 肯定是必不可少的了。

经过分析,我们需要用到三个类型的节点: 大模型节点 、选择器节点、选择器节点。

接下来我们就来使用这些节点来正式开始创建。

二、创建Bot

1、初始化Bot

通过之前课程的学习,我们知道,如果要在工作流中使用数据库节点,一定要先在Bot中创建一个对应的数据库。

所以首先,我们要创建一个Bot,然后在Bot中建立一个数据库。

图片

2、创建数据表

点击 + 按钮,创建一个数据表。

图片

3、自定义数据表

图片

4、添加字段

图片

到此步骤,数据表就创建完成了,接下来开始创建工作流。

三、创建工作流

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中。😊

四、发布工作流

在使用工作流之前,我要发布一下。

图片

五、引入工作流

接下来把工作流引入到Bot中进行使用

找到我们已经创建好的图书管理助手Bot。

图片

点击 + 引入工作流

图片

选择 WorkFlow_Books 工作流

图片

编排 人设与回复逻辑

图片

六、调试BOT

添加一本书:

图片

提示图书已经成功被添加了。

那么接下来测试一下,图书是否确实加入成功了。

图片

可以看到,《三国演义》图书确实成功加放到了数据库中,说明我们的工作流正确无误。

七、发布BOT

调试好以后,我们接下来就可以把BOT出布出去,让大家来使用了。

自动生成开场白,点击  确认 按钮。

图片

选择一下想发布的平台,我这里选择的是发布到扣子商店,然后点击 发布 按钮。

图片

提示审核中,然后点击 完成 按钮,一分钟左右就审核完成了。

图片

好了,到这里,我们终于把Bot和工作流的全部流程学习完了,希望大家在本文中能有所收获。😊

   🧙‍♂️ 诸位好,我是斜杠君。全栈技术,AI工作流技术研究者。本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。请关注我,可获取完整版教程。:)

 关注公众号获取完整版教程

👑 阁下若觉此文有益,恳请👍🏻-点赞 ⭐ - 收藏 👀 - 关注,以资鼓励。倘若有疑问或建言,亦请在评论区💬评论 赐教,吾将感激不尽。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1794851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32 音乐播放器之音频入门实验(pwm、dac、.wav、.mp3)

1.pwm实现简易电子琴实验 1.改变PWM频率,输出不同音调 2.改变占空比,调节音量大小 3.按键弹奏,支持按按键录取弹奏音 4.播放:中高低音;录取音;指定歌曲 5.支持按上一首,下一首,调弹奏速度&#…

C++设计模式-外观模式,游戏引擎管理多个子系统,反汇编

运行在VS2022,x86,Debug下。 30. 外观模式 为子系统定义一组统一的接口,这个高级接口会让子系统更容易被使用。应用:如在游戏开发中,游戏引擎包含多个子系统,如物理、渲染、粒子、UI、音频等。可以使用外观…

数据分析每周挑战——心衰患者特征数据集

这是一篇关于医学数据的数据分析,但是这个数据集数据不是很多。 背景描述 本数据集包含了多个与心力衰竭相关的特征,用于分析和预测患者心力衰竭发作的风险。数据集涵盖了从40岁到95岁不等年龄的患者群体,提供了广泛的生理和生活方式指标&a…

Web3开发框架分析

Web3开发框架旨在简化区块链和去中心化应用(DApp)的开发过程,为开发者提供必要的工具和库。以下是一些主要的Web3开发框架。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Truffle Suite Truffl…

GB28181安防视频融合汇聚平台EasyCVR如何实现视频画面自定义标签?

安防视频融合汇聚平台EasyCVR兼容性强,可支持Windows系统、Linux系统以及国产化操作系统等,平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,可拓展性强、视频能力灵活,能对外分发RTMP、RTSP、HTTP-FLV、…

25 - 销售分析III(高频 SQL 50 题基础版)

25 - 销售分析III -- where 是分组之前筛选数据 -- having 是分组之后筛选数据selectp.product_id,p.product_name fromSales s left join Product p on s.product_idp.product_id group byproduct_id havingmin(sale_date) >"2019-01-01" and max(sale_date)&…

使python技能飙升的5个实用F-String技巧

前言 python中存在着一些奇奇怪怪的语法,了解这些语法可以使我们在编写程序时事半功倍,不了解的则会使我们产生疑惑。今天,我们来了解一下python中关于f-string的5个实用的小技巧。 技巧一:数字分隔 num 1000000000 print(-*20)print(f{n…

传统的老程序员转向人工智能需要准备好这三件事情,你知道吗?

前言 人类文明的进步有时候快的吓人,在我们父辈上街买菜还是以一毛为计量买菜的时代,其实过去了也没有多长时间。现在买菜接近10块为准了,正常在集市上喊着怎么卖?摊主喊着三斤,包含的意思是10块钱三斤。相隔这么多年…

翘首以盼的抗锯齿

Antialiasing 实际的图形学中是怎么实现反走样的呢? 我们不希望实际产出的图形有锯齿效果,那怎么办呢? 从采样的理论开始谈起吧 Simpling theory 照片也是一种采样,把景象打散成像素放到屏幕上的过程: 还可以在不…

统信UOS SSH服务升级(ubuntu20)内网

服务器配置 系统信息 SSH版本 目标版本 openssh-server_8.2p1-4_arm64.deb 因为不通互联网,所以所有deb包需要手动下载(可以连接互联网的可以自动忽略手动下载deb步骤,直接apt-get install xxx 即可) 升级步骤 !!!deb下载方式…

开源低代码平台技术为数字化转型赋能!

实现数字化转型升级是很多企业未来的发展趋势,也是企业获得更多发展商机的途径。如何进行数字化转型?如何实现流程化办公?这些都是摆在客户面前的实际问题,借助于开源低代码平台技术的优势特点,可以轻松助力企业降低开…

SpringFramework总结

一.SpringFramework介绍 (一)Spring 广义上的 Spring 泛指以 Spring Framework 为基础的 Spring 技术栈。 Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Frame…

LeetCode790多米诺和托米诺平铺

题目描述 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 “L” 的托米诺形。两种形状都可以旋转。给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺…

iPhone的5G设置怎么更改吗?设置好这些能够优化电池的使用寿命

随着5G技术的普及,iPhone用户现在可以享受到更快的网络速度,但这同时也带来了一个问题:如何在使用5G和保持电池寿命之间找到平衡?苹果公司通过引入“5G Auto”设置,为用户提供了一个智能的解决方案,但用户也…

动态库加载【Linux】

从此往后,建立映射,我们执行的任何代码,都是在我们的进程地址空间中进行执行 例如:将动态库映射到共享区,进程在CPU调度时,是在进程的进程地址空间处运行 程序在编译好之后,在加载到内存之前&a…

设计循环队列---力扣622

1、题目 1.1基础设置与讲解 循环队列,即固定长度的队列,可以想象成一个环形队列 就类似于这种队列,队尾指针后会有一个空位,用于控制判断队列为空还是为满; typedef int MyDataType;typedef struct {MyDataType fron…

美团发布2024年一季度财报:营收733亿元,同比增长25%

6月6日,美团(股票代码:3690.HK)发布2024年第一季度业绩报告。受益于经济持续回暖和消费复苏,公司各项业务继续取得稳健增长,营收733亿元(人民币,下同),同比增长25%。 财报显示,一季度,美团继续…

vue-cl-service不同环境运行/build配置

概述 在项目开发过程中,同一个项目在开发、测试、灰度、生产可能需要不同的配置信息,所以如果能根据环境的不同来设置参数很重要。 vue项目的vue-cl-service插件也支持不同环境的不同参数配置和打包。 实现 新建不同环境配置文件 vue项目中的配置文件以…

Spring 的自动装配方式你都答的出来吗?

引言:Sprin g框架作为 Java 企业级应用开发的主流选择,其自动装配功能大大简化了开发人员的工作。自动装配能够帮助开发者减少手动配置的繁琐过程,提高了代码的可维护性和灵活性。在本文中,我们将深入探讨 Spring 的自动装配方式&…

六、Docker Swarm、Docker Stack和Portainer的使用

六、Docker swarm和Docker stack的使用 系列文章目录1.Docker swarm1.简介2.docker swarm常用命令3.docker node常用命令4.docker service常用命令5.实战案例6.参考文章 2.Docker stack1.简介3.Docker stack常用命令4.实战案例5.常见问题及调错方式1.查看报错信息并尝试解决&am…