Coze应用入门-AIAgent基础知识(1)-记忆部分

大模型向量数据库数据库

为什么想要开 Coze 应用入门知识分享?

picture.image

起源在于公司里的 HR 小姐姐约培训课,给了我一个课题;想要在公司内部推广 AIGC 应用,但是员工普遍没有编程基础,不会代码。有没有什么技能能够面向几乎所有员工,能够让大家无障碍创造 AI 应用?我想了一圈,只有 Coze 了。

不需要代码,只需要有需求和创意,拖拉拽就可以实现一个智能体打造。

picture.image

而且,近期手头上的很多 AIGC 的项目,都需要依赖字节跳动的 COZE 平台进行最小可行单元应用验证;字节的 Coze 平台是一个 AIAgent 的开发平台,几乎可以说是国内最好用的应用平台,没有之一;

用好 Coze 的基本前提是,需要对背后的一些技术原理(AIAgent)有大致的了解。

什么是智能体,和大模型什么关系?

这里可以参考AndrewNG 的分享。

大模型就是一个大脑,当一个人只有脑子的时候,TA 最多只能打嘴炮,还算不了一个人。只有把 TA 的五官、手脚都安装上了,才能成为一个人,一个能解决问题的个体;

这个就是 AIAgent 和 LLM 大模型的关系。

我们来回顾一下经典的 AIAgent 公式

AIAgent = LLM(大模型)+Planning(规划)+Memory(记忆)+Tools(工具)

AIAgent 就是为大模型增加了各种外挂。接下来,逐一介绍外挂和在 Coze 里的配置使用方法。篇幅有限,今天重点介绍最重要的Tools(工具)和 Memory(记忆)部分;

1 -Tools(工具)

主要体现在插件,插件的功能非常丰富多样。感兴趣的可以到 coze 平台内浏览。

直达链接:coze.cn

coze 的插件商店内,会定期维护和更新插件应用。可以重点关注平台推荐和官方推出的插件。

picture.image

字节为了推 coze,也是费了很大力气。在整个字节生态内的数据、应用,基本都做成了插件,供智能体调用。随意看几个:

有字节自家产品的调用插件,比如头条、抖音、懂车帝、

picture.image

我怀疑飞书的全套接口几乎都开放了:

picture.image

另外,还有很多官方开放的实用插件。用过的小伙伴都惊呼棒呆。感兴趣的小伙伴,可以自行探索。

2-Memory(记忆)

在 coze 中,设计 AI Agent 进行记忆的组件,包含数据库、知识库和变量;

1 数据库

就是AI Agent 的 Memory(记忆)其中一种组件。

数据库,从名字就可以理解其用户,用来存储数据的库。coze官方是这么解释数据库的。

以表结构组织数据,可实现类似书签和图书管理等功能。

没有任何数据库知识的同学,可以使用 excel 来辅助理解。

数据库就像是一个高级版的Excel,它能够处理更大量的数据,支持更复杂的数据操作。

想象一下,Excel就是一个简单的数据库。

  • 工作表(Sheet):相当于数据库中的表格(Table),用于存储数据。
  • 行(Row):相当于数据库中的记录(Record),是数据的单个实例。
  • 列(Column):相当于数据库中的字段(Field),定义了数据的属性或特征。
  • 单元格(Cell):是行和列的交点,存储具体的数据值。

在 coze 中配置数据库的方法

那么,在 coze 中,如何创建数据库存储数据呢?我们来看一下,coze 的具体配置方式。

先创建一个 AI Agent 学习 bot。在中间的编辑位置,能看到 数据库。

picture.image

点击这个区域。目前,coze 支持两种模式创建数据库:

1 、使用提示词自动创建数据库。

2 、手动添加数据库,点击“添加表”

picture.image

我们分别来看一下,两种模式的创建方法。先来看传统的手动添加模式。

打开之后,是这样的界面。

picture.image

假设,我想记录小红书客服和用户的问答问题。这里需要完成三个字段的记录。包含:

  • 客户的问题-customer_question;

  • 客服回答-service_answer;

  • 问题时间-quesion_time;

需要注意的是,这里的字段名称只能用英文命名。

为了预防遗忘这个字段的含义,描述列里尽可能的把设计这个表头的字段用途,标注清楚;

此外,和 excel 不同的是,这里需要提前设计字段类型。

picture.image

好的,点击保存,一张数据库表就完成设置了。

那么,什么时候使用数据库呢?

需要在 bot 使用过程中,记录数据的,都可以进行数据库配置。

数据库应用案例

接下来,积累一下数据库使用的案例参考:

  • 做一个记账 bot,每个用户,记录自己的账单,自己看;
  • 一个金融分析 bot,开发者导入上市公司近 3 年财报到数据表,用于做金融分析,所有用户都可以读取这份数据。(疑问,这个跟知识库有什么区别呢?)
  • 记录客户提问和 bot 回答的问答对;
  • 一个漂流瓶 bot,用户发布漂流瓶,随记读取别人的漂流瓶;
  • 一个联网游戏 bot,游戏结束后,查看排行榜;

coze 官方指南:https://www.coze.cn/docs/guides/database

2 知识库

知识库属于 RAG(检索增强生成)技术领域的应用。

简言之,知识库就是给 bot 增加了额外的知识输入。

打个比方,刚从学校毕业的本科生,来到你们公司工作。但是,他对公司的产品特性并不了解。这个时候,你会选择把一整本产品手册拿给这位本科生学习。

这本产品手册就是知识库。而这位本科生,就是 LLM 大模型;

而且,你还不用担心这位本科生学不会,LLM 大模型的优势之一,在于,没有学不会的知识;

而这位本科生学会了以后,就回使用TA 在知识库里学到的内容,总结后回答告诉你。

大致了解了知识库的用途后。我们再来说一下关键的知识点,RAG(检索增强生成)

RAG模型中的"R"、"A"、"G"分别代表三个不同的组件,它们共同工作以提高模型的性能。

下面将结合一个具体的案例,分别解释这三个组件:

假设用户想要了解“如何在家制作面包”。

R (Retrieval) - 检索:

  1. 索引:模型的检索部分有一个预先构建的索引,包含了成千上万的烹饪相关的文档,比如食谱、烹饪博客文章、视频教程等。这些文档已经被转换成向量形式存储在索引中。
  2. 查询:用户的问题“如何在家制作面包”被转换成一个查询向量。
  3. 相似性搜索:检索系统计算查询向量与索引中每个文档向量的相似度,找到最相关的几个文档,比如一些详细的面包制作食谱。
  4. 选择:系统选择最相关的文档,比如一个包含“在家制作面包的步骤”的食谱。

A (Augmentation) - 增强:

  1. 融合:检索到的食谱文档和用户的原始查询“如何在家制作面包”被结合起来,形成一个更大的上下文。
  2. 编码:这个融合后的上下文被送入一个预训练的Transformer模型(如BERT)进行编码,生成一个包含丰富信息的特征表示。

G (Generation) - 生成:

  1. 初始化:生成模型(如GPT)使用增强阶段得到的特征表示作为初始输入。
  2. 序列生成:生成模型开始构建答案序列,可能会生成如下文本:“要在家制作面包,首先你需要准备面粉、酵母、水和糖。然后,将酵母溶解在水中,加入面粉和糖,揉成面团。接下来,让面团发酵至两倍大,再将其分成小块,塑形并放入预热的烤箱中烤制。”
  3. 优化:在训练过程中,生成的答案会与食谱文档中的实际内容进行比较,模型的参数会根据这个比较结果进行调整,以提高未来生成答案的准确性和相关性。

如何保障知识库输出质量的效果?

先不直接回答这个问题,我们先来看一下,如何让知识库的检索效果拉跨的。

给一些无关的信息,污染这位本科生;

文档内容太大,不好找,比如找一个知识点得翻遍一本大部头;

需要这位本科生理解的内容太多,脑容量不足,效果不好;

这位本科生能力一般,没办法精准理解用户问题;

所以,如果要有质量的知识库,需要解决以上问题。

  • 有效文档准备与预处理:去除无效信息
  • 文档切割:把超大一个大文档,切割成不同的部分,降低检索压力。这一步很关键,如果切割不合理,导致上下文信息不连贯,则后续的检索和答案生成就会遇到挑战;
  • 文档存储:独立的知识点,独立存储
  • 检索:拿着问题来知识库查询
  • 排序:有多个查询结果,把最相关的部分呈现出来
  • 输出:这位本科生学了以后,理解了再输出

在 coze 中配置知识库

在开始这部分之前,需要降低各位的期望,现在的技术条件下,coze 或者 fastGPT 知识库的 RAG 能力,仅仅对问答这种场景是友好的。

其他的场景效果都差强人意;

后续,将持续带来其他基础知识和 Coze 开盒分享。

喜欢,就抬起你的小手,点个再看吧。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生数据库 veDB 核心技术剖析与展望
veDB 是一款分布式数据库,采用了云原生计算存储分离架构。本次演讲将为大家介绍火山引擎这款云原生数据库的核心技术原理,并对未来进行展望。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论