查看原文
其他

使用「扣子」搭建你的专属 AI Bot(附详细案例教程)

行百里者半八十 AI花果山 2024-04-16

在前面的文章 LLM Agents 指南:入门与实现,笔者介绍了使用 Python 实现一个简单的 AI Agent,这对于没有编程基础的人来说,还是比较麻烦的。

那么,对于想搭建自己的 AI Agent,但是又没有编程基础的人来说,还有其他更好的方案吗?

答案是肯定的。

我们可以使用「扣子」!


一、简介

扣子(coze)是由字节跳动推出的 AI Bot 开发平台。无论你是否有编程基础,你都可以在扣子上快速搭建 AI Chatbot,并一键发布到飞书、微信服务号和豆包等各个渠道。


扣子链接:https://www.coze.cn/home



二、扣子的功能与优势


丰富的插件工具

01



扣子集成了丰富的插件工具,例如网页搜索、SD图片生成、快递查询等,同时支持自定义插件,从而极大地拓展 Bot 的能力。



丰富的数据源

02



扣子提供了简单易用的知识库功能来管理和存储数据,支持 Bot 与本地文件(支持 TXT、PDF、Docx 和 Excel 等格式)或网站(提供 url)进行信息交互。


持久化的记忆能力

03


扣子提供数据库记忆能力,可持久记住用户对话的重要参数或内容。比如,创建一个数据库来记录每天的资讯内容(后面的案例将会讲到)。然后,Bot 就可以通过数据库查询以前的信息。

灵活的工作流设计

04


扣子的工作流功能可以用来处理逻辑复杂,且有较高稳定性要求的任务。比如,创建一个工作流获取 AI 资讯(后面的案例将会讲到)。



三、coze 国内版 vs 海外版

字节还没在国内推出扣子的时候,已经在海外推出了 Coze。


海外版 Coze 链接:https://www.coze.com/home



整体上看,国内版和海外版功能上差不多,都支持通过丰富的插件、数据源和自定义工作流来创建自己专属的 AI Chatbot。但是,从使用体验上看,海外版还是更胜一筹,我们可以对比一下:


读者如果熟悉了国内版的使用,那么海外版也可以很快上手。根据笔者的体验,如果条件允许的话,建议使用海外版,毕竟 gpt-4 更加智能,能更好地完成任务。本文以 coze 国内版进行讲解,后面我也会抽空写一篇关于 coze 海外版的。


四、创建你的第一个AI Bot

这里,我们以一个简单的案例入手,在这个案例中,我想获取每日最新的AI资讯。


创建 Bot

01



首先,我们点击主页的「创建 Bot」,然后给 Bot 命名,介绍 Bot 的功能,点击生成图标,此时会根据Bot的名称和功能介绍生成图标,如果不满意可以继续生成。



编写提示词

02



确认创建 Bot 后,我们进入一个开发界面,界面分为左、中、右三个栏目,左边的栏目用于编写提示词,中间的栏目用于添加 Bot 需要的技能,右边的栏目则用于预览与调试。


我们希望这个 Bot 能够获取每日最新的AI资讯,基于这个目的我们编写提示词如下:

# 角色你是一个专业的新闻推送机器人,可以快速获取、优化和发送与 AI(人工智能) 相关的最新新闻。
## 技能### 技能 1: 获取 AI 相关新闻1. 使用 getToutiaoNews 插件进行搜索,搜索关键词要跟用户的问题相匹配,每次搜索至少 10 条新闻。2. 整理新闻内容,包括新闻标题、发布时间、内容简介和链接。3. 为用户推荐跟 AI 相关的最新 10 条新闻。
### 技能 2: 优化新闻内容1. 使用自然语言处理技术对新闻进行润色和优化,提高新闻的可读性和易懂性。2. 对新闻进行摘要,提取关键信息,方便用户快速了解新闻内容。
## 限制- 只讨论与 AI 相关的新闻内容,拒绝回答与 AI 无关的话题。- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。- 总结部分不能超过 100 字。- 请使用 Markdown 的 ^^ 形式说明引用来源。


这里,编写提示词的时候有个小技巧,我们只需要简单地说明这个 Bot 的功能,然后就可以进行一键优化,比如:


除了 prompt 自动优化,插件、数据库和开场白也提供了一键优化的功能,当然不一定准确,还需要自己验证。


添加技能

03



注意到上面的 prompt 里面有一句:使用 getToutiaoNews 搜索关键词 “AI 最新新闻”。这里的 getToutiaoNews 其实是插件「头条新闻」的函数名称,如下:



点击添加,将其加到插件中。



调试预览

04



创建好 Bot 之后,我们就可以在预览与调试区域中测试 Bot 是否符合预期。可单击清除图标清除对话记录。



发布

05



当我们完成测试后,就可以将 Bot 发布到社交渠道中使用这个 Bot。

  1. 在 Bot 的编排页面右上角,单击发布。

  2. 在发布页面输入发布记录,并勾选发布渠道。

  3. 单击发布

比如我们可以发布到豆包APP,然后就可以在 APP 中跟它对话了,如下:


五、进阶使用

可以看到,我们上面使用插件「头条新闻」获取AI资讯,但内容比较一般,体验比较差。为了获得更优质的 AI 资讯,我们希望通过网页插件直接访问 https://36kr.com/information/technology/。另外,为了能稳定输出,我使用了工作流。



在新的版本中,我对提示词也做了相应的优化,同时把插件集成到工作流里面了。


新版的提示词如下:

# 角色你是一个专业的新闻推送机器人,可以快速获取、优化和发送与 AI(人工智能) 相关的最新新闻。
## 技能**技能 1.:获取最新AI资讯**。使用工作流 getNews_tasks 获取最新的AI资讯。**技能 2:保存最新资讯内容到数据库**。如果用户想要保存资讯内容,则获取当天日期(格式 YYYY-MM-DD),并将获取到的最新AI资讯内容保存到数据库 ai_info。**技能 3:获取指定日期的AI资讯**。根据用户提供的日期,从数据库 ai_info 查询对应日期的资讯,并返回给用户,如果查询不到,则告知用户查询不到指定日期的资讯。
## 限制- 只讨论与 AI 相关的新闻内容,拒绝回答与 AI 无关的话题。- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。- 总结部分不能超过 100 字。- 请使用 Markdown 的 ^^ 形式说明引用来源。


这里,我要求 Bot 使用工作流 getNews_tasks(下文会详细介绍)获取 AI 资讯;同时我给 Bot 引入了一个新的功能:保存资讯内容(下文会详细介绍),这是为了将获取的资讯保存到数据库,方便日后查询。


getNews_tasks 如何工作

01



在新的版本中,我们使用工作流 getNews_tasks 获取 AI 资讯,接下来我们展开讲讲。

首先,我们要创建工作流,如图所示:



接着,我们通过拖拽的方式来搭建「积木」,如图所示,这个工作流有 4 个节点:开始、LinkReaderPlugin、大模型和结束这几个节点。

对于开始节点,可以有输入参数,也可以没有,如果不需要的话,可以取消,本工作流不需要输入参数。

第二个节点是 LinkReaderPlugin,用于获取网页信息,对于该插件的参数 url,我们直接给定了 https://36kr.com/information/technology/,也就是想让该插件直接访问该 url,获取信息。

第三个节点是大模型节点,主要是对得到的网页信息进行处理。在这个节点,输入参数引用了上一个节点的输出 content,也就是网页信息。

为了让大模型处理网页信息,我们需要在 prompt 中引入该变量,使用 {{input}} 即可。

提示词如下:

# 角色你是出色的编辑,擅长整理冗余复杂的信息
# 任务阅读 ```文本``` 中的文本信息,然后按照给定的格式总结它们。每个总结应包含三个部分:编号、标题、简介。简介应在 50 个字以内,精确而高效地概括报道的核心内容。请注意,简介中的信息应该准确、简洁,并尽可能保留报道中的重点信息。以下是具体的格式要求和示例:
格式要求:数字编号(从 1 开始):按阅读顺序进行编号,输出最多 10 条标题:提炼出报道的主要主题或焦点,形成简洁、明确的标题。简介:在不超过 50 个字的限制下,总结报道的核心内容和要点。应涵盖主要事件、发现或观点,同时保持语言的清晰与精炼。
接下来,认真完成上述工作,这对我来说非常重要,务必重视和严格遵守要求。直接进入工作,待总结的文本如下:```{{input}}```

后一个节点是结束节点,获取最终的结果,输出变量是 output,引用了上一个节点(大模型)的输出结果。

当我们建好工作流之后,我们就可以进行试运行,如图所示,如果确认没有问题,则可以发布。

保存 AI 资讯

02


在上面的案例中,我们使用了数据库功能来存储每天的 AI 资讯,便于日后查询,这是非常有用的。如图所示,我们创建了一个 ai_info 的数据表,这个数据表有两个字段:一个是日期,一个是资讯内容。

使用体验

03


如图所示:

  • 首先,向 Bot 提问:最新的 AI 资讯有哪些?展开运行过程可以看到,Bot 调用 getNews_tasks 获取资讯

  • 接着,我要求 Bot 将资讯内容保存到数据库,展开运行过程可以看到,Bot 生成了相应的 sql 语句,并执行该 sql

  • 最后,获取指定日期的资讯,Bot 生成了 sql 语句,并进行执行



六、总结


「扣子」不仅仅是一个平台,更是一片无限可能的海洋。无论是营销、客服,还是娱乐互动,「扣子」都为创意者们打开了一扇通往 AI 的门。


这就像是每个人都能拥有自己的 Jarvis(贾维斯),只不过它不是为钢铁侠服务的,而是为我们每一个普通人服务的。


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存