首页 > 其他分享 >用扣子(Coze)搭建Bot智能体详解

用扣子(Coze)搭建Bot智能体详解

时间:2024-07-13 23:28:21浏览次数:13  
标签:插件 模型 Bot 智能 详解 Coze 扣子

1.扣子(Coze)是什么?

下面是官方文档里的介绍:

扣子是新一代 AI 应用开发平台。无论你是否有编程基础,都可以在扣子上快速搭建基于大模型的各类 Bot,并将 Bot 发布到各个社交平台、通讯软件或部署到网站等其他渠道。

扣子官网

稍微解释一下,Coze 是字节跳动旗下一款面向C端用户的智能体开发平台,中文名为“扣子”。在扣子平台,可以通过零代码或低代码的方式快速搭建基于 AI 大模型的各类智能体应用,并将它们部署到其他网站平台上,也可以通过API将Coze平台的智能体与现有系统集成。

Coze网站是:

国内:coze.cn

海外:coze.com(需翻墙)

2.扣子(Coze)能用来做什么?

扣子平台上的智能体被称为Bot,它可以是各种类型的聊天机器人,除了简单的对话,通过扣子的插件和工作流等机制,还可以实现相对复杂的业务流程,比如内容创作、数据分析以及各种类型的文档处理等,还可以制作小游戏。在扣子平台的Bot商店里,有用户创建的各种Bot。

图片

由于对话是与Bot交互的最主要也最基本的方式,所以我们可以简单粗暴地将这些Bot统称为聊天机器人,但是不同的聊天机器人所提供的功能和适用场景是不一样的。从应用场景的角度,参考Coze平台的标签,我们尝试对这些Bot进行一个简单的分类:

  1. 聊天机器人:基于各种大模型简单套壳的机器人,没啥特别的。

  2. 互联网运营:比如,爆款文案、抖音、小红书文案生成,平台上这类Bot已经烂大街了。另外还可以通过插件自动抓取分析抖音、小红书爆款视频、热帖等内容、以及生成对标内容等

  3. 效率工具:比如思维导图生成、Excel助手、PPT生成、数据分析及图表生成等。

  4. 内容写作:比如写小说、写诗、写论文、写行业分析报告等,还可以生成插图,语音阅读。

  5. 设计类:如图标、海报、图片生成,修图、扣图等

  6. 学习类:比如英文学习、翻译,编程,各年级、各学科解题助手等。

  7. 虚拟角色:比如虚拟男女友等,即扮演特定角色的聊天机器人,当然可以支持多模态(语音、图片等),也可以结合工作流将一些工作岗位自动化。

  8. 垂直搜索:不同行业的垂直搜索工具,比如工商信息、招聘信息、新闻搜索信息流等。

  9. 智能客服:Coze上比较多的是微信公众号自动应答机器人,可能更适合个人或小团队,对于有一定规模的公司,应该都有客服团队或自建客服系统,似乎也没有必要迁移到公域,这也跟Coze平台C端定位有关。

  10. 游戏娱乐:比如剧本杀、看图猜词等。

这些类别是针对平台上众多Bot的特征进行一个粗略归纳,从中我们可以大致了解Coze能做什么。这些分类并没有覆盖全部Bot类型,也不符合MECE(不重不漏)原则,有些Bot可以归属到多个类别。目前平台自身也没有一套详尽的分类体系。这是因为大模型是一种新技术,基于大模型的智能体也将会带来新的应用形态,而上述分类是基于过往的应用形态来总结的。举一个例子,在智能手机出现之前,我们的知识体系里是没有智能手机这个类别的,以前的手机是功能机。在智能机出现之前,我们有PC、有数码相机、有功能手机(短信&电话)、有GPS终端、有指南针、陀螺仪等各种设备,但是没有“智能手机”这个概念,而智能手机将前面各种终端设备的能力融为一体。智能手机最终取代了功能手机,虽然现在都叫手机,但是“手机”这一概念的内涵,在智能机出现之前和之后,已经发生了翻天覆地的变化。

未来的智能体形态,也是同样的道理。关于智能体的形态,可以参考《AI智能体的6种形态》这篇文章。

扫码或微信搜索 agentfans 获取最新消息

3.扣子(Coze)提供了哪些基础能力?

下面是扣子平台的Bot智能体编排页面截图,我们对照这个页面逐条说明。

图片

大模型推理

作为一个AI智能体平台,最基础的能力当然是大模型推理能力。除了字节自己的大模型“豆包”之外,扣子上还有阿里的通义千问、智谱GLM、MiniMax、月之暗面Moonshot、百川等大模型。简单说明一下,大模型本身是一个二进制文件,要想调用大模型的能力,必须要有相应的运行环境和资源。Coze在云端部署了这些大模型,我们可以直接调用这些大模型的推理能力来搭建自己的Bot,并能够随时切换模型。此外,通过调用插件还可以使用更多的大模型。

图片

编写提示词

提示词是用户跟大模型交互的接口,也称为指令。之前也提到,提示词是开发大模型智能体的“编程语言”,所以这也是AI智能体平台的基础能力。扣子平台上的提示词称为“人设与回复逻辑”。关于编写提示词的方法可以参考这篇文章《提示词工程的原则、方法和实践》。

知识库

训练好的大模型,其本身的知识是静态的,如果用户提出的问题超出了大模型的知识范围,它可能会出现幻觉、胡说八道。为了解决这个问题,就有了知识库,以外挂方式给大模型增加新的知识。知识库是RAG的一种实现方式,它可以根据用户的提示词在知识库中检索相关数据,然后将返回的数据连同提示词一起发送给大模型,从而让大模型避免幻觉、生成更好的结果。Coze的知识库支持文本、表格、照片三种类型,且支持本地上传、在线抓取、飞书导入、手工直接录入等多种方式。

记忆

大模型本身只支持一问一答的交互方式、其本身是没有记忆的,市面上的聊天机器人之所以能够进行顺畅的对话,是因为在应用层增加了聊天记录的记忆能力。Coze的记忆支持变量、数据库和长期记忆(聊天内容)三种:

    变量:类似于编程语言中的变量,它可以(通过提示词)由大模型赋值并进行读取,也可以在工作流中读取或写入。它的作用范围是用户维度的,不同于编程语言中的变量有生命周期,Bot的变量是长期存在的。

    数据库:跟传统的关系数据库类似,可以定义数据表。

    长期记忆:表示聊天对话内容特征,这个数据是由扣子后台存储和处理,对开发者不透明,开发者可以选择打开和关闭。

插件

大模型本身的能力是根据指令生成响应,但不能和外界环境交互,这会限制它的应用场景。通过使用插件,可以让智能体跟外界交互,从而扩展大模型的应用范围。例如查询天气、抓取网页、发送短信、生成文档、运行代码等。扣子的插件商店里有各种插件,包括官方的以及第三方开发者发布的,当然也可以自己开发。目前插件基本都是免费的,以后可能会有收费模式。

工作流

在扣子上搭建Bot,对于简单的功能,一般通过编写提示词就可以搞定。而对于比较复杂的功能,扣子提供了工作流能力。工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能进行组合,从而实现复杂、稳定的业务流程编排,例如旅行规划、报告分析等。

工作流和插件的区别是:插件是封装好的,对外暴露API,内部实现通常不需要关注,我们可以通过指令让Bot直接调用它的接口;而工作流是一套可复用的流程,它的内部实现通常是需要我们关注的。扣子平台上也有一个工作流商店,我们既可以使用平台已有的工作流,也可以根据需要编排自己的工作流。

图像流

图像流是扣子新推出的能力,与工作流类似,支持通过可视化的方式,对图像获取、生成、编辑和发布等功能进行组合,从而实现稳定的图像处理流程的编排。

触发器

在Bot中,支持创建触发器,包括定时执行和外部事件触发两种触发方式。触发器可以执行三种任务:给机器人发送提示词、调用插件、调用工作流。

消息卡片

扣子支持在豆包飞书平台上使用自定义卡片来回复用户消息,让回复内容更加美观和个性化。

多Agent

Bot可以采用单Agent模式,也可以采用多Agent模式,每个Agent相当于是一个智能体,可以设置不同的提示词和模型配置参数,多个Agent可以相互配合,共同完成对用户的响应。

其它个性化设置

在Bot上还可以设置开场白、用户问题建议,快捷指令、背景图片、语音交互等个性化能力。

4.在Coze上创建智能体的三种方法

扣子官方文档中,介绍了3种创建Bot的方法。不管哪一种方法,都需要先在扣子官网(https://www.coze.cn/home)注册一个账号(不赘述)。这三种方法中,前两种方法适合小白用户快速上手,第三种方法适合有一定经验的用户。

方法1:从平台预置的Bot中复制一个并修改

    1. 访问Bot 商店,选择“公开配置”页签。

图片

    2. 选择一个目标Bot并打开,点右上角的复制

    3. 在弹出的对话框中,设置 Bot 名称并选择 Bot 的所属团队,确定。

    4. 你可以在新打开的配置页面修改复制的 Bot 配置。

方法2:使用扣子助手创建Bot

    1. 打开扣子首页(https://www.coze.cn/home),进入到扣子助手页面。

图片

    2. 直接输入“我想创建一个 Bot”,然后根据引导自动创建一个属于你的 Bot。

方法3.手动创建一个Bot

    具体步骤在下一部分“用Coze搭建智能体的完整步骤”中详细介绍。

5.用Coze搭建智能体的完整步骤

我们用一个简单的示例来说明,用Coze搭建智能体的完整步骤。这个实例是将上一篇文章《AI大模型&智能体领域100个名词术语含义》的内容,做成一个问答机器人。

  1. 在扣子首页,点左上角的“创建Bot”。

    图片

  2. 在弹出的对话框中,选工作空间、输入Bot名称和介绍,图标可以自己上传或由AI生成,确认。

  3. 进入Bot编排页面,默认的模式是单Agent,默认模型是豆包Function call,先保持默认值,后续可以根据需要调整。

  4. 在左边“人设与回复逻辑”下面,输入你想让大模型扮演的角色和完成的任务,点优化,AI会自动帮你完善提示词,不满意还可以重试,当然你也可以自己手写。如果满意,点“使用”即可。

    图片

  5. 在中间的“对话体验-开场白”下面,我们可以输入开场白文案和预置问题,这是用户打开Bot后,第一眼看到的Bot欢迎信息。同样,我们让AI自动生成即可,不满意可以重试或自己修改。

  6. 现在,在右边的“预览与调试”窗口可以看到开场白了,可以输入或随便点个预置问题测试一下效果。

    图片

  7. 接着,我们再问一个问题。

    图片

  8. 由于大模型的知识是静态的,它并不知道可灵是快手近期发布的视频生成大模型,为了解决这个问题,接着我们给它增加一个搜索插件。点插件后面的+号,在弹出的窗口中选择必应搜索并添加。

    图片

    bingWebSearch这个插件接口有3个入参,最主要的query参数:

    图片

  9. 添加插件之后,我们还要修改提示词,告诉大模型何时来调用这个插件。

    在提示词中,我们要求大模型在调用插件接口时,将用户输入加上固定的“大模型”前缀作为搜索query,以便搜索结果跟“大模型”相关。其中,${{user_input}}代表用户输入的问题,大模型在调用插件时会自动将它替换成实际值。

  10. 再重新问一次刚才的问题。可以发现这次它的回答中,调用了必应搜索,返回了搜索结果,并在下面给出了正确的回答。

    图片

  11.  如果对调试结果比较满意,最后一步就是“发布”了,点右上角的“发布”按钮,选择发布平台,默认可以直接发布到扣子商店和豆包,其它支持的平台包括:飞书、抖音、微信、掘金等,需要授权。另外,扣子还支持发布成Web API,这样我们在任何系统中都可以通过API来调用Bot了。API的发布方式,可以参考官方文档。

以上是一个很简单的示例,演示了在扣子上搭建Bot智能体的基本步骤和插件的使用。其它如工作流、知识库、变量等更多玩法,大家可以自行探索。

演示的这个Bot,可以通过以下地址访问:

https://www.coze.cn/store/bot/7382233779957448730?panel=1

6.结论

本文对扣子(Coze)智能体平台进行了简单介绍,包括扣子的基本概况、Bot的应用场景、扣子平台的基本能力、在扣子上搭建智能体的方法和步骤,后续会逐步分享扣子的其它玩法。个人感觉目前大模型智能体生态还处于蛮荒的起步阶段,相对于移动App、微信小程序等生态所要求的开发能力及复杂审核机制,在扣子上搭建一个智能体门槛还是比较低的,扣子的基础能力和体验相对还不错,大家有兴趣可以尝试一下。

扫码或微信搜索 agentfans 获取最新消息

标签:插件,模型,Bot,智能,详解,Coze,扣子
From: https://blog.csdn.net/chararch/article/details/140408101

相关文章

  • 【数据结构与算法】详解二叉树下:实践篇————通过链式结构深入理解并实现二叉树
          ......
  • 重载、覆盖(重写)、重定义(同名隐藏)的区别 (超详解)
    ......
  • Java-static关键字详解
    目录1.static关键字的用途和作用用途作用2.在类中使用static修饰成员变量、方法和代码块修饰成员变量修饰方法修饰代码块修饰内部类3.常见误区误区1:静态变量在每个实例中都有一份误区2:静态方法可以访问实例变量和实例方法误区3:静态代码块在每次创建对......
  • 电源纹波测试,从原理图到PCB板和示波器探头设置详解(适合新手小白)
    一、什么是纹波?    简单来说纹波就是叠加在直流信号上的交流干扰信号,是衡量电源好坏的一个重要标准。二、纹波测试点在原理图什么位置?    严谨起见我们尽量选择电路的终端进行测试,比如给MCU芯片供电的引脚,我们需要测量放置在MCU端的电容两端的纹波。如下图......
  • [Redis]字符串详解
    Redis中的字符串是可以修改的字符串,在内存中它是以字节数组的形式存在的。我们知道C语言里面的字符串标准形式是以NULL(即0x\0)作为结束符,但是在Redis里面,字符串不是这么表示的。因为要获取以NULL结尾的字符串的长度使用的是strlen标准库函数,这个函数的算法复杂度是0(n......
  • Java中的CyclicBarrier详解
    Java中的CyclicBarrier详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!一、CyclicBarrier简介CyclicBarrier是Java并发包中的一个工具类,用于实现多线程任务分解成多个阶段并行执行的场景。它允许一组线程互相等待,直到所有线程都达到某个公共屏障点(b......
  • Java中的接口多继承详解
    Java中的接口多继承详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java中,类的多继承是不被允许的,但是接口的多继承却是被允许的。接口多继承可以使得类具备多种行为,并且解耦合代码,有助于提升代码的可维护性和可扩展性。本文将详细介绍Java中接口多......
  • Java中的类与对象详解
    Java中的类与对象详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java编程中,类与对象是两个最基本的概念。类是对象的模板,对象是类的实例。理解和掌握类与对象的概念是学习Java的基础。本文将详细介绍Java中的类与对象,包括类的定义、对象的创建、构......
  • Java中的静态内部类详解
    Java中的静态内部类详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java中,内部类是一种将类定义在另一个类内部的结构。而静态内部类(StaticNestedClass)则是使用static修饰的内部类。静态内部类有其独特的特性和用途,理解静态内部类可以帮助我们编......
  • Java中的多线程详解
    Java中的多线程详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!多线程编程是Java开发中一个非常重要的主题。在多线程环境下,程序可以同时执行多个任务,从而提高程序的执行效率。本文将详细介绍Java中的多线程,包括线程的创建、线程的生命周期、线程的同......