以下是关于如何将 Coze 中的工作流使用到 Bot 中的相关内容:
首先,将工作流看作一个函数,其输入参数通常只有用户的提问(query),这是一个字符串。
在工作流中,会按以下步骤进行操作:
num
参数控制返回搜索结果的数量,一般设置为 7 以平衡响应速度和信息量。对于创建 Bot 并封装工作流,步骤如下:
完成封装后,可在「预览与调试」区进行最终体验与调试。但需注意,外层 bot 可能存在一定未知 bug,同一段 USER_INPUT 在工作流编辑面板中试运行正常,但在外层 bot 运行时可能报错,原因可能是外层 bot 的并发不够稳定。
下面我将按照这个Workflow的顺序逐个介绍这里面的每个组块,然后介绍一下怎么把这个Workflow集成到Dr.Know这个Bot里:1设置Workflow的输入参数2调用Google搜索插件搜索互联网上的信息3格式化搜索结果4获取用户的语言偏好5调用LLM生成回复6设置Workflow的最终输出结果7把Workflow集成到Bot里[heading1]1设置Workflow的输入参数[content]如果你了解编程的话,你可以把Workflow看作是一个函数。整个Workflow的输入参数只有一个,就是用户的提问(query),它是一个字符串。2调用Google搜索插件搜索互联网上的信息这里使用了Coze提供的“Google Web Search”插件。`num`参数控制返回搜索结果的数量。论文里说增加这个数量可以提高回答准确率。但是考虑到响应速度以及用户易于接受的信息量,我这里把它设置成了7。3格式化搜索结果Google搜索插件返回的是一些结构化数据,这里我利用“Code”组块插入了一段代码,这段代码的作用就是把Google搜索返回结果格式化成两个字符串:一个字符串是由搜索结果相关的信息拼接而成(retrieved_contexts);另一个字符串是由搜索出来的网页链接拼接而成(references)。前者将会被插入到LLM的提示词里,后者将会插入到Workflow的最终输出结果里,也就是大家在Dr.Know回复里看到的参考链接列表。这段Python代码相当于粘合剂,逻辑不复杂,理论上可以让AI帮助生成。[heading1]4获取用户的语言偏好[content]这里使用了一个“Variable”组块来获取Bot内设置的变量值。这个变量叫user_language,需要在Bot开发页面配置好。我用这个变量来记录用户的语言偏好,很方便。
了解Coze的小伙伴都应该知道,工作流才是真正的核心。因此在搓这个Bot之前,我们需要先将工作流梳理清楚。我们先来看下秘塔搜索的最主要的能力:使用搜索引擎进行搜索对搜索的内容整理成答案给出答案中的引用因此对于这个Bot,我们已经有了思路OK,接下来我们就开搓
在点击「发布」,发布工作流后,我们就需要创建一个bot,进行最终的工作流封装。封装过程如下:1.创建Bot2.填写Bot介绍3.切换Bot模式为“单Agent(工作流模式)”:因为这个Agent,我们只需要每次输入英文文章的时候,返回精读结果,所以不需要用外层bot对输入进行其他任务理解,直接调用工作流即可。4.把我们刚才配置好的工作流,添加到Bot中5.填写开场白,引导用户使用:附开场白文案⬇️6.关闭开场白预置问题:因为使用流程里用不到,所以直接关掉。[heading3]外层bot调试[content]完成封装后,即可在「预览与调试」区进行最终体验与调试:——如果一切正常,你就能获得这样的成功结果,yes~Btw:在笔者发布文章时,外层bot仍存在一定的未知bug,同一段USER_INPUT,在工作流编辑面板中试运行完全ok,但到了外层bot进行运行时,就容易出现报错。暂时无法确定原因,猜测可能是外层bot的并发做的不够稳定,不如直接在工作流编辑面板中获取精度结果。如果自行实验时,发现多次报错且无法定位问题原因,就不要急着怪自己啦🤣。笔者也已经把相关bug提交给了Coze团队,希望能加紧优化吧。