在 《Coze 扣子 | AI 养育计划 - “Flutter 大师”》 一文中,介绍了 Coze 中创建 AI Bot 的过程,并且基于 知识库 和 数据库 作为 AI Bot 的大脑,提供知识储备打造 Flutter 大师。AI Bot 的聊天产出内容相对随机,如何能让 AI Bot 准确地通过自然语言,来精确处理任务呢?
本文就介绍一下,基于 Coze 扣子 插件,打造一款自然语言执行工具箱 “匠心千刃” 。
一、 插件拓展 AI Bot 的上限
插件官网介绍: www.coze.cn/docs/guides…
1. 插件是什么
AI Bot 可以接收用户的输入指令,通过知识库大脑进行分析产出结果,相当于与用户交互的 客户端。而插件可以向 AI Bot 提供精确的接口运算数据,就相当于 服务端 提供 api 接口。当用户的输入,命中插件中的接口时,可以通过对应 api 返回的数据,进行回复。
插件可以大大拓展 AI Bot 的上限。知识库 和 数据库 作为 AI Bot 的大脑,它只能基于数据做 感性 的分析;而缺乏理性的判断。插件则是通过编程语言,绝对理性地执行命令。同时用户只需通过 自然语言 来触发调用,这是非常有想象空间的。
2. 插件的价值
就像你的大脑再怎么强悍,网络查询到实时信息、对一百万个数字排序这些任务不借助外物是无法实现的。而插件就相当 让 AI Bot 的大脑,拥有编程的能力 。比如下面通过插件让 AI Bot 拥有搜索 github 仓库的功能:
或是可以给出自然语言描述,让 AI Bot 通过接口插件产出数据。如下所示,批量生成指定长度、个数的随机秘钥:
3. 插件带来的前后端分离
这样的视角下,就可以有一个很有趣现象。插件是提供数据的服务,相当于 服务端接口 。发布插件相当于部署服务,插件的代码逻辑相当于后端开发。这样 AI Bot 在发布之后,后端的数据可以发布,而不需要重新更新 AI Bot 。这就是前后端分离的思想:
打个比方,指南 命令,可以展示当前 匠心千刃
的能力。这个输出数据是通过插件接口得到的,所以可以进行更改,AI Bot 作为 前端
可以随时访问 后端
最新数据,不需更新。
二、通过 Coze IDE 创建插件
Coze 插件可以通过 python 和或 Node.js 编写代码,提供访问的 api。
官网介绍: www.coze.cn/docs/guides…
1. 创建插件
在扣子 主页/个人中心/插件/创建插件 中创建插件。由两种方式:
- 基于已有服务,是基于已经有的服务器接口,提供数据
- Coze IDE 创建插件,可以自己编辑服务代码,产出数据,灵活性非常高。
先通过一个简单的例子,介绍一下插件接口最简单的使用。如下所示,输入 指南 可以输出匠心千刃当前的功能。
下面是进入插件后的编辑区,可以展示当前插件中的所有接口。在代码区中书写接口代码。右侧可以运行测试,以及发布插件:
每个接口都有一个 handler
函数,用于逻辑处理。其中 Args
可以获取输入参数,当前接口没有使用输入,后面其他接口再做介绍。返回值里传出当前接口产出的数据:
1 | python复制代码from runtime import Args |
2. 通过网络访问接口请求数据
如下所示,github 搜索仓库可以通过 python 进行网络请求相关接口,传入搜索的仓库名:
1 | python复制代码def search_github_repo(repo_name): |
接口中的元数据,可以设定 输入参数 和 输出参数 。在 handler
方法中, Args 参数的 input
可以访问对应设置的参数,调用 search_github_repo
函数获取数据:
1 | python复制代码from runtime import Args |
网络请求中用到的的 requests 库,需要增加依赖包:
3. 随机数生成器
除了调用网络接口得到数据外,插件中的代码还可以执行逻辑,产出数据。这里拿 随机数生成器
来说,输入秘钥长度和生成的个数:
1 | python复制代码def handler(args: Args[Input])->Output: |
如下所示,提供 gen
方法生成数据,从大写字母、小写字母、数字和特殊字符中随机挑选字符组合:
1 | python复制代码def gen(len, outputCount): |
三、AI Bot 中使用插件
插件作为强大的后备武器库,可以在 AI Bot 中通过人设和回复逻辑中,设计命中和回复逻辑。在中间的技能区,可以在插件中选择前面设计的插件:
AI Bot 作为和用户交互的前端,人设和回复逻辑 以及中间的面板,就相当于前端开发的组件。而一个 AI Bot 可视为一个应用程序。
1 | scss复制代码[] 中是盛放输入关键字 |
按照这个视角,如果 AI Bot 可以提供一些交互的组件,比如选择、输入、导入文件图片等。那么它的上限就可以非常高,常规的应用程序核心是视觉元素的渲染,而 AI Bot 是一个以回复数据为核心的应用程序。它可以依赖插件接口,基于输入通过代码获取输出结果。
这样 匠心千刃 可以作为一个工具箱,使用者可以通过自然语言进行使用,这是和常规应用最大的区别。匠心千刃 目前只是简单介绍插件的使用,后续有时间会逐步完善。
现在 Coze 可以发布的平台越来越多了,希望 Coze 扣子可以发展的越来越强大。本文就到这里,后面有机会再介绍一下工作流的使用,谢谢观看 ~
bot ID: 7361120595800604712
本文转载自: 掘金