在 Coze 工作流中,数据库的应用如下:
相关参考文档和示例:
在【拔刀刘】自动总结公众号内容,定时推送到微信的案例中,循环体内部的数据库节点用来在数据库中查询是否已经推送过该篇文章,输入项为上一步中的 url 和开始节点的 key(重命名为 suid)。查询数据库需要文章 url 和用户的 suid 两个值来判断这名用户的这篇文章是否推送过。记得设置输出项“combined_output”。同时,Coze 平台中使用数据库功能需要在 bot 中设置相同名称和数据结构的数据库进行绑定,具体设置方法参见“相关资源”。
工作流是由多个节点构成,节点是组成工作流的基本单元。节点的本质就是一个包含输入和输出的函数Coze平台支持的节点类型:LLM(大语言模型):使用输入参数和提示词生成处理结果。Code(代码):通过IDE编写代码处理输入参数,并返回输出值。Knowledage(知识库):根据输入参数从关联知识库中召回数据,并返回。Condition(条件判断):if-else逻辑节点,用于设计工作流内的分支流程,根据设置条件运行相应的分支Variable(获取变量):从Bot中获取变量作为参数在工作流中使用Database(数据库):在工作流中使用提前配置在Bot数据库中的数据[heading3]创建和使用工作流[content]这一块官方有现成的教程参考:海外参考文档:https://www.coze.com/docs/zh_cn/use_workflow.html国内参考文档:https://www.coze.cn/docs/guides/use_workflow国内版本还提供了一些示例,学习工作流强烈建议大家跟着实操一遍:搜索新闻:https://www.coze.cn/docs/guides/workflow_search_news使用LLM处理问题:https://www.coze.cn/docs/guides/workflow_use_llm生成随机数:https://www.coze.cn/docs/guides/workflow_use_code搜索并获取第一个链接的内容:https://www.coze.cn/docs/guides/workflow_get_content识别用户意图:https://www.coze.cn/docs/guides/workflow_user_intent
大模型节点的输入和输出输入:可以自己定义数量,本质就是给大模型的参数Prompt:大模型的提示词,用来设定大模型的角色和工作内容,其中可以使用{{}}来使用输入变量输出:大模型的回答提示词如下:[heading5]数据库节点[content]数据库节点的输入和输出输入:用户可以定义多个输入参数输出:如果数据库是查询作用,则输出会包含查询出来的内容SQL:通过SQL语句告诉数据库要执行的动作注意:这里的SQL语句我是让AI帮我自动生成的哦,具体请看第二张图但是我对SQL进行了一些改动:将question和llm_answer进行了变量替换,并且外围加上了""[heading5]End节点[content]End节点也是工作流中的默认节点,其作用是最终结果的输出其输出方式主要有两种直接返回变量,由Bot根据变量生成回答根据变量来使用特定的格式来直接生成回答我这里使用的是第二种,然后在Answer content中指定了回答的格式[heading5]测试工作流[content]编辑完成的工作流是无法直接提交的,需要进行测试。1.点击右上角的test run2.设定测试参数1.查看测试结果1.发布当工作流完成之后,就可以去调试Bot啦
循环体内部——数据库节点数据库节点:用来在数据库中查询是否已经推送过该篇文章,输入项为上一步中的url和开始节点的key(也就是server酱的sendkey,这里我们重命名为suid了)因为这个Bot最开始设计的时候,就考虑到可能有多个用户会同时使用这个Bot设置公众号推送内容,每个用户设置的公众号内容可能不一样,每个用户的要推送的微信号肯定也不一样,所以这里使用server酱的sendkey作为了用户的唯一标识,重命名为了suid所以这里查询数据库需要两个值,文章url和用户的suid,来判断这名用户的这篇文章是否推送过SQL语句是AI写的,直接复制就成记得设置一下输出项「combined_output」这步是必须项:Coze平台的逻辑是数据库是与bot绑定的,所有如果要使用数据库功能,需要在bot中设置一个相同名称和数据结构的数据库进行绑定,具体设置方法参见「相关资源」循环体内容——选择器判断数据库查询的内容是否为空,如果是空,证明数据库中没有查到,这篇文章没有给这名用户推送过,使用「文本处理」节点,拼接这篇文章的完整信息,保证信息一致性string1:开始节点的key,也就是server酱的sendkey,用来识别用户string2:循环节点item值中的urlstring3:循环节点item值中的titlestring4:循环节点item值中的author拼接为如下格式,方便输出,并让后边节点使用右下方的「文本处理」节点没有实际作用,输入项随便写,主要是为了处理数据库查询到已经给这名用户推送过这篇文章情况下的占位项,否则工作流会报错设置循环节点输出项,选择循环体中「输出新文章内容」拼接后的字符串