AI 文摘

Coze工作流高阶教程分享,让你的Bot高质量的处理复杂任务





作者: 在野在也 来源: 在野在也

一、引言

上期视频介绍了Agent智能体的基础概念,演示了如何通过Coze搭建一个可以实时调用本地知识库,并且对用户的问题进行精准回复的聊天机器人,而且还能将机器人集成到飞书的应用中,这非常适用于企业智能客服的场景应用

这篇文章我们来进阶学习Coze的高阶技巧 - 工作流(Workflow)

文章分为两部分进行介绍:

第一部分为理论部分 ,介绍什么是工作流,什么阶段才需要用到工作流

第二部分为实践部分 ,基于实际案例,演示如何在Coze中搭建工作流解决复杂任务

这里是完整的视频内容,视频内容更丰富哟 👇

**二、什么是工作流?

假设今天我们的需要从深圳到上海,我们可以选择很多种交通方式:飞机、高铁、汽车…

具体选择哪种交通方式取决于我们的需求

  • 如果我们需要开一个紧急的现场会议,那么就会首选飞机

  • 如果不太急会选择高铁

  • 如果目标是沿途自驾旅旅行,就会选择汽车

无论选择哪一种交通方式,都会有不同的流程,比如选择坐飞机去上海

我们就需要:到机场-过安检-办理值机-登机-飞行-落地-取行李-出机场

这个过程就是一个达到我们需求目标的工作流,一个工作流中包含多个节点,每个节点完成一个固定的任务

工作流定义

工作流就是一组预定义的、标准化的步骤,用来完成特定的任务和达到预期的目标

三、什么时候需要用到工作流?

看过上期视频的朋友应已经知道,Coze搭建的Bot本质上就是**“Agent-智能体”**

对Agent智能体的关键构成有一个公式

Agent = LLM + 记忆 + 感知&反思 + 规划+ 工具使用

其中“LLM-大语言模型是驱动智能体的核心关键,被称之为智能体的“大脑”

而“LLM-大语言模型”中的“提示词-Prompt”,对大语言模型的输出质量有着很关键的影响

我们在写提示词时,会对一个场景的需求、背景、甚至解决思路进行描述 ,有时候写着写着就会写成一篇大几百字的提示词文档

随着需要解决的问题越来越多,越来越复杂时,就会达到大语言模型的能力边界“上下文的限制”,从而导致模型输出质量的下降

目前有两条路径可以解决这个问题

第一条路径 就是对模型本身的能力提升,像增强模型的理解和推理能力 & 拓展模型上下文长度的限制,这些都属对模型能力的增强

比如谷歌近期发布的一篇论文中提及到能够让大语言模型处理无限上下文长度的方法

第二条路径 就是把复杂的任务进行拆解,拆解成多个子任务,通过完成子任务从而达到最终需求的目标

小结

  1. 当有明确的需求和实现需求的路径,可以通过搭建工作流来处理标准化的任务

  2. 当需处理复杂任务时,为来避免大语言模型自身的能力限制(上下文限制 & 输出准确性),确保输出内容的质量,可以将复杂任务拆解成多个子任务,从而达到最终的需求目标

**、Coze搭建工作流-Bot能力说明**

我们先来看一个我用Coze搭建一个机器人案例,他主要的功能有三个

  1. 能够在Google、Twitter和arXiv康奈尔论文网站中帮我查询和总结我所需要的信息内容 ,并且会附带对应的文章或论文链接,可以帮助我快速的查阅相关的文献资料

2.能够基于给定的关键词辅助生成适配不同平台的文章标题 (含:小红书、Bilibili、公众号)

3.能够基于给定的 关键词 或 文章标题辅助生成文章的配图

每个功能我都单独搭了一个工作流来执行对应的任务,机器人使用的语言模型为GPT-4o,主要扮演的角色是基于用户的问题,分配用户的需求,从而实现不同的需求调用不同的工作流来处理对应的任务

五、Coze搭建工作流-图片工作流

首先找到工作流workflows模块,点击“+”号就能够添加我们已经发布好的工作流,点击创建工作流,输入名称和描述后,就能进入到工作流的编辑页面

进入工作流的编辑页面后,映入眼前的有两块区域

左侧是节点选择区域,这里包含了很多个可选择的节点类型,包括:插件、大语言模型、代码、知识库、工作流、条件节点等等

一个工作流由多个节点构成,节点是作为组成工作流的基本单元

右侧是工作流的编辑页面,有两个初始节点,开始节点和结束节点

开始节点就是用户输入的信息的节点,结束节点就是输出信息的节点

我们把开始节点和结束节点连接起来后,结束节点的值可以取到刚刚在开始节点中定义的字段名称,我们点击右上角的测试按钮,输入“这是一个测试”,可以发现,输出的内容也是“这是一个测试”

这就是一个最简单的工作流,输入什么,就输出什么,中间并没有处理的环节

那现在我们来试着搭建一个生成图片的工作流

我们先来思考一下,搭建一个生成图片的工作流需要具备哪些必要条件?

首先就要有图片生成模型

可以在插件-Plugin 中找对应的图片生成插件,有官方推出的DALLE-3

点击添加后,在编辑页面就会出现DALLE-3的节点

在输入的信息当中有两个字段,Prompt就是我们对生成图片的文本描述,所以这里的取值就是用户输入的字段

ratio比率,这里代表的含义是不同的值对应不同的图片大小,如果不填写默认就是1:1(1024*1024)的分辨率

我们把所有节点连接起来后,来进行一个测试

输入:一瓶桂花乌龙茶在草地上绽放

这是图片的生成效果

用过Midjourney或者Stable diffusion的朋友知道

1.英文提示词会优于中文提示词的生图效果

2.提示词的质量和丰富度,能够进一步地提升图片质量和画面的丰富度

那我们来对工作流做进一步的优化

我们先在“DALLE-3”节点前增加一个大语言模型节点,用于将我们的中文转译为英文,并且提取对应的关键词,用到的提示词:


请帮我把用户输入的内容{{query}}翻译成英文,并且提取输入内容的关键词
例如1:
输入:请帮我生成具身机器人的图片
输出:embodied robot, image quality, 8k, HD
例如2:
输入:一只飞在天上的猫
输出:cat, flying, sky, image quality, 8k, HD

光提取关键词还不够,我们还需要把我们的关键词进行提示词的优化,来丰富画面中的细节

我们再接着添加一个优化提示词的插件“PromptPerfect”,这个插件可以基于不同的模型,像:chatgpt、dalle、midjourney,进行提示词的优化

在大语言模型后加上提示词优化的节点,节点的输入信息包括两部分内容:

一个是提示词,这里输入的内容我们取的就是刚刚大语言模型提取出的关键词

另一个是目标模型,这里我们选择另一个取值模式{input},由人工输入一个固定的值,因为我们用的是dalle模型,所以我们直接在这里输入dalle

接着我们把所有节点链接起来再做一轮测试:

“在草地上翩翩起舞的桂花乌龙茶”

好啦,这就是一个相对完善的工作流了

六、Coze搭建工作流-信息检索工作流

在这个工作流中

我先用大语言模型的插件进行中英文的转译和关键词的提取

然后分别把语言模型处理后的输出结果传递给“谷歌搜索” & “twitter搜索” & “arXiv搜索”的插件中同时进行信息检索

但是由于这些插件检索出来的信息很多并且信息结构很杂乱 ,所以每个插件后面都接了一个代码节点,主要的作用就是将关键的内容做结构化的提取

每个代码节点的输出对象都包括两个内容:

一个是检索出来的结果 ,另一个相关的引用链接

对于不懂编程的小伙伴来说不要被唬住了啊,我本身也不会敲代码,但是代码节点中的代码能够通过内置的AI功能进行自动化的代码生成

我的使用方式是:先明确上一个节点的输出结构**

输出结构怎么看呢,我们可以做单节点的测试,在Twitter节点中点击右上角的播放按钮,输入“增强检索RAG”,可以看到给出的输出结果

有值的数据主要是在“data”中,点击展开后可以发现,它一种多层级的输出结构,一次性为我们检索了10条数据

展开来看可以发现里面包括了:用户的姓名、被关注数量、tweet的内容 和 tweet的链接。但对我有用的只有“名称” “内容” 和 “链接”

明确输出结构后,我们点击Code节点中的“编辑IDE”按钮,就能进入到代码编辑页面

左下角有一个使用AI编辑的按钮,我们点击按钮,可以输入提示词


输入参数`twitter_search`(这就是我们定义代码节点的输入参数)中包含`searchTweet`插件的结果
1、需要从`data`的每一条结果中提取`name`、`full_text`、`url`信息,并格式化呈现字符串,将每一条格式化后的结果拼接成一个长的字符串,输出为`twitter_context`(我们定义的输出字段)
2、其中`url`是具体的链接数据,请你从`data`中提取所有链接,并格式化成一个字符串,然后将每一条格式化后的结果拼接成一个长的字符串,输出为`twitter_reference`
点击回车后,AI就会自己写代码,写完后可以尝试运作一下,如果不报错,就说明代码运作成功,如果报错,再把报错信息给到AI,让AI修改代码

下一个节点我们还是用到语言模型节点

输入的信息:一个是用户最初提出的问题,另一个是上级节点给出的检索答案

给到模型的提示词含义是:首先告诉模型用户输入的信息是什么,Twitter检索到的信息是什么,然后告诉模型要做清晰且专业的表达,总结内容和提炼要点,最后将处理后的内容翻译成中文进行输出

最后,我们测试看一下整体的效果

输入:“我想了解什么是ComfyUI,如何学习ComfyUI”

得到了谷歌、Twitter、arXiv插件检索后的信息要点总结和对应的链接地址

最后的话

做一个总结,我们先介绍了“工作流的理论部分”,知道了工作流概念,知道了搭建工作流的前提条件,是基于明确的需求和实现路径的基础之上,再去搭建解决问题的工作流

然后我们介绍了,如何在Coze中搭建工作流,介绍了主流的节点的使用方法

希望这篇文章能够给你带来启发和帮助

如果你对此感兴趣,就快去尝试一下吧

感谢你的观看,下期再见👋

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具