AI智能体:一步步教你制作扣子工作流

news2024/12/23 4:09:47

这是一篇关于字节智能体平台扣子制作工作流的笔记。

完整智能体可参考:基于扣子(Coze)打造第一个智能体——个性化对话机器人

使用工作流优化机器人输出

1 旅游机器人的业务流程

提到工作流,不要感觉有什么高大上的,工作流本质就是我们完成一件事情的流程。

比方说,我们这个对话机器人“说走就走的旅行”,它的工作就是根据用户的要求给出旅游攻略,其工作流程如下:

  • 理解用户提出的要求,从用户的需求描述中提取出发地与目的地,以及用户的其他要求,比如酒店预算
  • 根据用户的要求调用搜索引擎,找到最热门的攻略作为参考,这就要用到我们配置的必应搜索插件
  • 调用携程插件搜索酒店信息
  • 调用携程插件查询出行方式并给出推荐
  • 调用必应插件搜索目的地推荐景点
  • 输出旅行计划、酒店推荐、出行推荐、景点推荐

画出流程图如下:
在这里插入图片描述

2 工作流的实现

① 新建工作流

在这里插入图片描述

点击添加工作流进入工作流编辑界面。

在这里插入图片描述
在编辑器左侧是各种不同的工作流结点,我们常用的结点:

  • 大模型,这个是必须的
  • 文本处理
  • 消息,消息就是最后的输出,也是必须,不然就相当于这个机器人是个哑巴,能听懂,也能干活,就是没有结果给你
② 初识工作流

每次创建新的工作流,进入编辑界面后,默认有两个工作流结点,一个开始一个结束。

在这里插入图片描述

③编辑开始结点

在这里插入图片描述

开始结点是必须的,这个界面就对应机器人对话界面,用来接收用户的输入。

注意这个节点有一个输入模块,代表传输到这个节点的信息,每个节点都必须有输入。

下面是存储输入信息的变量名称,如果有一点编程知识,就比较好理解。

变量名是为了方便在后面的结点中引用当前结点的信息。

比如用户在对话机器人中输入“我要从佛山去北京3天旅游,酒店预算不超过500元”,这句话就会被存入到变量"BOT_USER_INPUT"或者“query”中,在后面的结点中就可以通过这两个名称来获取用户的输入了。

这里说是用户的输入,主要是这个节点是开始结点,接受的就是用户的输入。

后续节点的输入一般是其前面节点的输出。

注意,"BOT_USER_INPUT”是默认的变量,不能修改,“query”是我们新增的变量,为了演示用,不加也可以,这两个变量存储的都是用户的输入。

④增加大模型节点-处理用户输入

接收到用户输入后,就要将输入交给大模型进行文本处理,所以开始结点后需要一个大模型结点。

在这里插入图片描述

在左侧节点类型列表中选择大模型,点击+号或者拖拽到编辑区都可以。

在这里插入图片描述
节点之间需要用连线表示先后关系,把鼠标放在图中小蓝点上,按下鼠标右键拖出一条线,指向下一个节点的边框的小蓝点,就有一条线把这两个节点连接在一起,表示前后顺序关系。

注意,上一步不可缺少,只有连上之后,后节点才能获取前节点的信息。

⑤编辑大模型节点
选择大模型

扣子提供了很多大模型可供选择,我们选择字节的豆包大模型。

在这里插入图片描述

选择输入

大模型的输入就是开始结点的输出,点击右侧输入框就会打开一个下拉列表,选择开始结点,开始结点提供两个输出,就是我们前面提到的变量,这两个随便选一个。

在这里插入图片描述

给大模型设置提示词

大模型必须要配合提示词才能工作,且提示词的好坏影响最终的结果。

注意下面的提升词中“{{input}}”,表示的是用户输入的文本内容。

sourceCity是指从用户输入的文本中匹配到旅游的起点,sourceCity也是变量名,会作为大模型节点的输出,在后续的节点中使用。

其他依次类推。

# 角色
你是一个文本分析器,能够准确地从给定文本中提取信息,并按照特定格式输出为 JSON 数据。

给定文本

{{input}}


## 技能
### 技能 1:提取信息
1. 从输入的文本中提取出发地城市名称、目的地城市名称、日期和返程日期等信息。
2. 如果无法确定某个信息,可以询问用户以获取更多上下文。

### 技能 2:转换信息
1. 将提取到的城市名称转换为拼音写法,如“佛山”转换为“foshan”。
2. 将提取到的日期描述转换为实际的具体日期,格式为 YYYY-MM-DD。
3. 根据提取到的交通工具信息,若没有交通信息,则默认选为“飞机”。
4. 若没有固定的出发地,则默认从"北京"出发
5. 若没有固定的出发日期,则默认从“明天”出发

### 技能 3:输出 JSON
1. 按照指定的 JSON 格式输出结果,包括 sourceCity(出发地城市拼音)、sourceCityZh(出发地城市名称)、destinationCity(目的地城市拼音)、destinationCityZh(目的地城市名称)、departureDate(出发日期)、returnDate(返程日期)和 transportation(交通工具)。

## 限制
- 只处理与提取和转换文本信息相关的任务,拒绝回答与该任务无关的问题。
- 输出的 JSON 数据必须严格按照给定的格式,不能有任何偏差。
- 如果输入的文本中缺少关键信息,应尽可能询问用户以获取更多上下文,而不是随意猜测或假设。
给大模型设置输出

大模型从用户输入的信息中匹配到关键信息,并提取保存,以便下游节点获取使用。

比如规划路线的节点就需要使用出发地城市和目的地城市。
在这里插入图片描述

⑥增加必应搜索结点

接下来要根据前面的大模型结点提取到的关键信息搜索小红书,获取优质笔记,并参考笔记生成新的推荐。

所以需要一个搜索结点。

在这里插入图片描述
注意,要连接前面的大模型结点和搜索结点,连线由大模型指向搜索结点。

在这里插入图片描述

搜索节点的关键词就是用户的输入,所以这个节点的输入变量query选择应用开始节点的变量query

⑦在搜索节点后增加大模型节点-输出小红书攻略

必应搜索到结果后,会将交给大模型,以便大模型进行处理 ,输出规划。

分别设置大模型、选择输入、给出提示词,后续不再详述。

在这里插入图片描述
为了后续方便,将这个大模型命名为:攻略大模型
在这里插入图片描述

提示词参考:

你是一名资深的小红书旅游博主,擅长对旅行计划进行管理和输出。

针对查询到的旅游攻略进行整理,并以小红书爆款旅行文案的方式输出。

获取到的旅游攻略参考如下 


{{input}}

⑧增加酒店搜索插件节点

在这里插入图片描述
有两点需要注意:

  • ①这个结点是搜索目的酒店,所以输入是大模型提取出来的目的地城市。
  • ②连线是由开始节点后的大模型指向酒店搜索节点

在这里插入图片描述

⑨增加大模型节点处理酒店搜索结果-输出酒店攻略

加入一个大模型节点,注意以下两点:

  • 由酒店搜索节点指向大模型
  • 做如下配置
    在这里插入图片描述

这个大模型命名为:酒店大模型

在这里插入图片描述

提示词:

## 回答

请回答以下内容:
{{input}}
⑩增加插件-天气查询节点

选择墨迹天气插件作为天气查询节点,做如下配置:

  • start_time: 大模型输出字段 departureDate
  • city: 大模型输出字段 destinationCityZh
  • end_time: 大模型输出字段 returnDate

在这里插入图片描述

⑪增加大模型节点处理天气结果-输出天气结果

在天气查询节点后增加大模型节点处理天气查询结果。

在这里插入图片描述

这个大模型命名为:天气大模型

在这里插入图片描述

提示词:

## 分析
分析以下使用 ```括起来的文本:

{{input}}

⑫增加插件-航班查询节点-出发机票

这个节点是第一个处理用户输入的大模型节点的后续节点。

增加一个查询出发航班的节点。

  • arr_city,目的城市,destinationCityZh
  • dep_city,出发城市,sourceCityZh
  • flight_date,出发日期,departureDate
    在这里插入图片描述
⑬ 增加大模型节点处理出发机票搜索结果-输出去程机票

在这里插入图片描述
这个大模型命名为:去程机票大模型

在这里插入图片描述

提示词:

## 分析
分析以下使用 ```括起来的文本:

{{input}}


## 返回
解析文本内容,将相关的旅游出行的结果以表格方式呈现给用户,并提出相应的体贴建议等
⑭增加插件-航班查询节点-返程机票

处理出发机票后,接着查询返程机票,注意节点依赖关系。

增加一个查询出发航班的节点。

  • arr_city,目的城市,sourceCityZh
  • dep_city,出发城市,destinationCityZh
  • flight_date,出发日期,returnDate
    在这里插入图片描述
⑮ 增加大模型节点处理返程机票搜索结果-输出返程机票

在这里插入图片描述
这个大模型命名为:返程机票大模型

在这里插入图片描述

提示词:

## 分析
分析以下使用 ```括起来的文本:

{{input}}


## 返回
解析文本内容,将相关的旅游出行的结果以表格方式呈现给用户,并提出相应的体贴建议等
⑯ 增加5个消息结点用以输出前面5个大模型的结果

在这里插入图片描述
这五个消息节点分别用来输出5个大模型的结果:

  • 总攻略的结果
  • 天气结果
  • 酒店结果
  • 去程航班结果
  • 返程航班结果

在这里插入图片描述

在这里插入图片描述

3 工作流整体概览

在这里插入图片描述

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

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

相关文章

根据NVeloDocx Word模板引擎生成Word(六-结束)

前面几篇已经把E6开发平台配套的Word模版隐藏NVeloDocx的基础用法介绍了一遍,这些基础用法基本上可以完全覆盖实际业务的绝大部分需求。所以我们这一篇就介绍一些边边角角的内容,给本系列来一个首尾。 本篇的主要内容有: 1、汇总计算&#…

Nacos1.X中对NacosNamingService的实现

Nacos服务注册与发现的实现原理图 服务注册与发现的功能: 服务实例启动时注册到服务注册表、关闭时则注销(服务注册)服务注册中心根据服务实例定时发送的心跳包,实现健康检测(健康检查BeatReactor中的BeatTask&#x…

打造最佳自闭症患全寄宿学校:为孩子的未来保驾护航

在自闭症儿童教育的广阔领域里,寻找一所能够全方位关注孩子成长、为他们的未来奠定坚实基础的学校,是许多家庭的心愿。广州的星贝育园自闭症儿童寄宿制学校,正是这样一所致力于成为最佳的自闭症儿童全寄宿学校,它以独特的教育理念…

软件测试学习笔记丨Postman基础使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32096 一、Postman基础使用 1.1 简介 Postman是一款流行的API测试工具和开发环境,旨在简化API开发过程、测试和文档编制。优势: Postman可以快速构建请求&#xff0c…

使用 React Testing Library 测试自定义 React Hooks

自定义 React hooks为开发人员提供了在多个组件之间提取和重用常见功能的能力。然而,测试这些 hooks可能会有些棘手,特别是对于测试新手来说。在本文中,我们将探讨如何使用 React Testing Library 测试自定义 React hook。 测试 React组件 首…

录屏工具大揭秘:录屏快捷键、工具使用感受与建议

在繁忙的工作中,我们常常需要记录下一些重要的操作步骤或精彩瞬间,这时录屏工具就派上了用场;接下来,我将以轻松愉悦的方式,为大家介绍四款常用的录屏工具及其快捷键,并分享使用感受与建议: 录…

OM6626国产低功耗蓝牙对比NRF52832/NRF52810

OM6626 是一款超低功耗的蓝牙soc 主要特性: 支持BLE5.3支持SIG Mesh支持2.4G长包主频64Mhz,80KB RAM主要应用在esl电子价签,IoT模组、CGM、高报告率HID设备 PUM特点 1.71~3.6v供电电压1秒间隔广播平均电流:9uA;1秒间…

架构设计 - 常用日志收集方案选型对比与推荐

目录 1. 常用组合1.1 ELK Stack -> Elastic Stack1.2 EFK Stack1.3 Graylog1.4 PLG 日志系统1.5 Splunk1.6 Filebeat ELK1.7 AWS CloudWatch Logs1.8 阿里云日志服务1.9 腾讯云 CLS(日志服务) 2. 推荐 日志收集是系统监控和调试中的关键环节。常见的…

心觉:以终为始,帮你精准实现目标

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松掌控自己的人生! 挑战每日一省写作169/1000天 假设你的目标是 一年内赚到150万。我们可以通过“以终为始”和“以始为终”的结合来帮助你实现这个目标 以下是完整的…

VuePress搭建文档网站/个人博客(简单配置、易上手)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

sourcetree配置ssh连接gitee

使用PuttyGen.exe生成的公钥私钥格式和git文档方法生成的不一样, SSH 公钥设置 | Gitee 帮助中心 gitee方法生成的公钥类似: ssh-ed25519 AAAA***5B Gitee SSH Key PuttyGen.exe生成的: 公钥 ---- BEGIN SSH2 PUBLIC KEY ---- Comment:…

15个顶级ChatGPT学术提示词指令,让学术研究与撰写论文,轻松上手,效率翻倍

大家好,我将通过这篇文章详细介绍如何有效利用ChatGPT来增强学术写作的各个环节。从论文陈述的精炼到数据的深入分析,从研究主题的探索到论文各部分的撰写,为大家一步一步展示如何通过这些工具来提升研究工作的质量和效率。 1.完善论文陈述: 输入你的初步论文陈述,ChatG…

【YashanDB知识库】数据库获取时间和服务器时间不一致

本文转自YashanDB官网,具体内容可见数据库获取时间和服务器时间不一致 【问题分类】功能使用 【关键字】服务器时间、数据库时间 【问题描述】数据库获取的时间和服务器时间不一致。 【问题原因分析】YashanDB并没有时区的概念,数据库的时间以数据库启…

红黑树的删除

文章目录 前言一.删除的节点左子树右子树都有二.删除的节点只有左/右子树删除调整操作 三.删除的节点没有孩子1.删除的节点为红色2.删除的节点为黑色1).兄弟节点为黑色(1).兄弟节点至少有一个红色的孩子节点LL型RR型RL型LR型 (2).兄弟节点没有孩子或所有孩子为黑色 2).兄弟节点…

Redis实现发布/订阅功能(实战篇)

前言 博主在学习 Redis 实现发布订阅功能的时候,踩了太多的坑。 不是讲解不详细,看的一知半解;就是代码有问题,实际压根跑不起来! 于是博主萌生了自己写一个最新版且全程无错的博客供各位参考。希望各位不要把我才过…

C语言浮点型数据在内存中的存储(23)

文章目录 前言一、浮点数在内存中的存储练习引入浮点数的存储浮点数存的过程 二、浮点数取的过程E不全为0或不全为1E全为0E全为1 三、再回顾练习总结 前言 哎,之前写了一篇,可是中途退出没保存,只能再写一遍了~   浮点数在内存中的存储跟整…

智汇创想pytest接口自动化测试框架

本测试框架是基于pytest搭建的接口自动化框架,对象为深圳智汇创想官方网站。深圳智汇创想科技有限责任公司(深圳智汇创想科技有限责任公司),是一家专注于跨境电子商务的集团公司,全球电商平台多品类多品牌的零售商&…

什么是APT攻击,有哪些防御策略

在数字化时代,网络安全已成为国家、企业和个人不可忽视的重要议题。其中,高级持续性威胁(APT)攻击以其隐蔽性强、攻击规模大、持续时间长等特点,成为网络安全领域最为棘手的问题之一。面对APT攻击的严峻挑战&#xff0…

Unity 场景优化(1) game视口的Statistics 内容介绍

Unity的 Statistics (stats) Unity是多线程的。但是控制使用unity的api必须在主线程中,比如控制物体的transform信息。 Audio Level: DSP Load:数字信号处理(Digital Signal Processing)负载&…

空间视频化趋势理解

「视频空间化」这个趋势不是从现在开始,而是潜在发展了很多年了,而且我个人觉得「视频空间化」的背后其实对应的是「空间视频化」的趋势,所以未来我们还是要注重自己的技术栈中对视频相关处理技术的吸收以及整合,下面是我的几个理…