扣子(coze.cn)是一款用来开发新一代 AI Chat Bot 的应用编辑平台。其中可以构建自己的知识库以及作为资源,这样的话,让 AI Bot 拥有我使用文章的 "智慧",岂不是以为 Flutter 大师 嘛。毕竟连我自己可能都记不清很久以前文章知识里的细节,让用户和这种 "知识怪物" 交流,肯定能有意料之外的能力。
另外有一点很重要,让读者读完我所有的文章并理解是一件很艰难的事。
但读者可以向一个具有我所有文章知识的 Flutter 大师 提问,并获得回答,会是一件多么棒的事。
一、Flutter 大师的诞生
注册登录到扣子之后,可以通过 创建 Bot ,创建一位 Flutter 大师
的 "小婴儿"。在此为这个 AI Bot 起个小名叫: Toly
创建完后可以在个人空间,查看这位处于萌新阶段的 Flutter 大师 - Toly
。创建时可以 AI 根据描述生成图标还挺有意思的,虽然不那么精确。
点进去可以看到有三个主要的区域:
- 编排区域 : 提示词的编排,设计 Toly 的人设和功能
- 资源配置区域:
- 预览调试区域:
二、喂养未来的 Flutter 大师
虽然扣子的 AI Bot 有一定的知识集,但是毕竟并不是专业的。现在看一下如何喂他一些精确的、高质量的文章。给与他专业的 "记忆" 能力。如下所示,可以构建知识库 或者数据库,作为他的 "智慧源泉" 。
1. 创建知识库和收录数据
首先看一下知识库,在 个人空间
顶部有 知识库
的选项卡,其中可以添加知识库。 知识库中可以包含各个分类的知识集:
对于 Flutter 而言,最重要的是 Widget 组件的使用,这里拿 Flutter 组件集录
知识库为例。需要准备知识集,刚好本人写过各种 Flutter 组件使用的以及源码解析的文章,可以作为素材。
添加文章的 URL 即可:
然后会自动访问文章链接,进行处理:
最终分段情况如下:
2. 知识库的使用
在 记忆 区点击加号可以选择知识库:
下面是有无知识库时提问 详细介绍一下 ColorFiltered 组件的源码实现 的效果:
无知识库时 | 有知识库时 |
---|---|
可以看出无知识库时,基本上相当于瞎诌了;当添加知识库后,有相关的知识点,会总结知识库中的内容进行输出。从而回答更加精准,所以 知识库就相当于 Toly 的大脑。另外,当用户提问时,匹配到的 "知识片段" 将会命中
3. 其他形式的知识
文字作为知识的载体,万变不离其宗,在计算机中都是 字符资源
。除了通过 URL 爬取网页资源之外,还有很多其他的形式。
如下的 文本形式
和 表格形式
, 可以是 PDF、Text、DocX 、Excel 等形式的文件,也可以是 json 形式的 api ; 也可以自己编辑文本、表格作为知识库。
文本形式 | 表格形式 |
---|---|
每个网页、文件、接口内容被称之为 单元 ,每个单元中会进行分段,通过 URL 抓取的会自动分段。可以理解为每个 分段
就像一个神经元,遇到问题时想到了,它就被命中了一次。这样其实可以通过命中情况,来统计哪些神经元比较 "活跃",感觉也挺有意思的。
俗话说,小孩就是四脚吞金兽,生儿难,养儿更难。接下来就是枯燥乏味的养儿过程了,喂食各种 Flutter 领域优秀的知识,来让 Toly 有一个强大的知识库。成为真正的 "Flutter 大师" 。
三、语义化数据库的支持
在记忆中有另一种 "知识" 的存储形式 -- 数据库
。 用户可通过自然语言插入和查询数据库中的数据,使用户可以便捷地与 Bot 进行交互。
1. 创建数据库和插入内容
可以创建表格来记录只是,比如这里创建 flutter_points 的记录表,由三个字段:标题、内容和类别:
然后通过自然语言的描述,就可以插入内容到数据库中:
名称: Flutter 升级的命令,内容: flutter upgrade,类别:命令行
名称: 查看 Flutter 版本,内容: flutter --version,类别:命令行
名称: flutter 三方库的官网,内容:
https://pub.dev/
,类别:资源名称: flutter 开源地址,内容:
https://github.com/flutter/flutter
,类别:资源
这样数据库中就可以添加内容:
通过自然语言描述,可以查询数据,还是挺有意思的。
2. 删除内容
同样,可以通过自然语言的描述,来删除或清空数据。可以在详情中看出,扣子是理解语义后通过 sql 进行操作的。
标题 | |
---|---|
但是个人感觉目前的支持程度不太完善,只能支持一个数据库,而且有时候语句的识别不太精准。希望可以让开发者自定义一些标识符之类的,方便标识。清空数据库有时候还会出错,不过相信以后会完善的。
另外,不太清楚这个数据库是每个用户一份还是用一个,如果共用一个,不知道有没有权限控制,不然任何用户可以删除不太合理。
四、发布 Bot
养育完成之后,可以发布来让其他的人使用:
目前支持 豆包
、飞书
、微信服务号/客服
,都需要进行筛选或者配置,详情可以参考文档:
发布到飞书非常简单,点击 配置 按钮,飞书登录后获取应用后授权即可:
发布之后,别人就可以在飞书应用中搜索到 Flutter 大师 的机器人:
然后愉快地玩耍吧 ~
在扣子的 Bots 页面中,可以在学习助手中搜索到 Flutter 大师
使用中发现飞书应用
好像不支持数据库的能力,在扣子
里可以:
那扣子的初体验就到这里,总得来说知识库和数据库的记忆能力还是让我很感兴趣的。目前 "Flutter 大师" 还在小白阶段,让我慢慢养育吧 ~
最后小结
扣子给我们带来了什么?
让普通人可以通过自定义知识数据库,来 "养育" 专业领域 AI 智慧体的机会!
最后对扣子的一些建议和小畅想:
- 指定格式,可以支持
批量导入
url,或者掘金可以让作者将文章、专栏导出到 Coze 知识库的功能。 - 数据库希望未来能够加强,这是个很不错的特色,有了数据库,可以玩很多花样。
掘金小册&Coze
可以打造某本小册专有的 Bot ,喂养小册内容,仅小册购买者可以使用,感觉会挺不错。- 网页抓取文章时,图片有时是很重要的。后期可以对
图片资源识别
,作为资料。或作为问答中可以输出相关图片。 - 对知识库中的分段命中情况提供一些统计图的支持,方便可视化地查看命中情况。
bot ID: 7338763773840375842