在设计智能体的过程中,除了知识库,数据库的引入也很重要
或许很多人不太懂得数据库的意义,我们给大家简单介绍一下
💾数据库 = 大脑的记忆仓库
数据库像人脑的记忆库,专门存储具体信息

比如,人名、日期、交易记录等数据,就像人记住的 facts(事实),需要时可以快速查找调用
与知识库这个“大脑的思考能力”相对比来看呢 知识库更多用于存储静态知识,数据库用于管理动态数据
我们的智能生活小秘在前期已经拥有了日常对话、快递查询等功能,我们希望它可以像一个管家一样,记录我们的暂定日程,这部分就涉及到了数据库的引入
那么以记录日程为例,我们给大家讲解下如何在Coze平台建立和使用数据库
1.➕添加数据库
数据库的添加和引入在记忆部分,我们可以选择通过提示词(AI)辅助创建或者直接添加

不推荐大家使用提示词辅助创建,因为大模型很难确保你的提示词中哪个场景需要用到数据库
这就会导致它在生成数据库的时候产生数据紊乱,有些地方用上,有些地方用不上

点击添加数据库,点进来之后我们选择新建数据库表

可以看到这里有两个选项,一个是自定义数据表,一个是基于模板创建
不建议使用模板创建,因为模板并布不能适用于每一个场景,选择自定义数据表

2.📝编写数据库
数据表名称
首先是数据表名称,由于计算机内部数据库结构,数据表只支持英文格式

我们这里创建的是用户日程表,数据表名称最好也英文直译对应

数据表描述及结构构思
这部分的描述是写给大模型看的,一定要写的足够详细,是为了让大模型知道这个表格是做什么的,它有什么信息,理解我们什么时候需要存储数据,分别存在哪
所以在撰写这部分之前,我们需要先确定数据表结构
如果我们完全不知道应该如何去构思表结构,可以使用DeepSeek帮助我们

这里需要再说一下,由于我们只需要记录这个使用智能体的X用户的日程,所以生成表格中的用户标识是可以去掉的,这部分在后面的Table查询模式给大家详细介绍为什么
然后我们再让AI帮助我们编写一个数据库描述

虽然DeepSeek输出的结果我们很满意,但是Coze的描述是有字段限制的,所以我们需要再次简写一下

粘贴后选择确认,进行表结构的撰写

Table查询模式
这里重点说一下Table查询模式的相关设置,主要分为单用户模式和多用户模式

单用户模式:你现在创建的智能体表格,每一个智能体的使用者都有它自己的表格,并且它只能够查询自己的表格
多用户模式:所有的用户都可以来查询这个表格(需通过工作流触发)
在前文中,DeepSeek给我们生成的数据库表格中涉及到一个字段user_id(用户标识),这就是多用户模式的概念,数据表中的来源存在不同用户源,就是多用户模式,而我们只记录某个用户的日程,属于单用户模式
代入场景去讲解的话就是:
单用户模式:用户在个人日程表中添加事件,仅自己可见和修改,其他用户无法查看或编辑
多用户模式:在团队任务管理系统中,成员A完成任务后,触发工作流自动标记任务状态,其他成员可实时查看更新
基本上大部分数据表格都是单用户模式居多,大家不理解也没关系,构思清数据表结构之后,看下适用情况即可
数据表结构撰写
这是系统生成的基本结构,不能删除,我们直接在后面将前文DeepSeek给我们生成的表结构填进去就行

填写完毕之后点击保存

是否必要的选项我们建议大家关闭
因为一旦开启,第一轮对话中我们提到了事件内容,没有提到日程日期的安排,就会导致智能体无法录入日程数据,因为某个数据是必要的,而用户不知道,他在输出日程安排的过程中存在阶段性持续的描述,不满足我们的后台记录规则

添加成功之后,数据库就会出现在这里
可以看到数据库右上角还有一个设置按钮,这是提示词调用设置规则
默认都是勾选的,勾选了之后,我们在人设与回复逻辑板块中撰写相关调用数据库使用规则就会生效,如果不勾选的话,就只能够在工作流中调用数据库

3.💻使用数据库
创建好了数据库之后,我们需要实现数据库的存储和查询功能
在人设与逻辑板块设置调用规则
首先在提示词中新增一个板块,用来下达存储信息的指令

测试调用情况
接下来我们测试一下提示词是否设置正确

可以看到这里显示是运营成功的,我们可以点击调试部分的右上角出现的这个小脑袋检查一下存入结果

检查发现,这个日期格式和具体的数据都不对,我们尝试再次让智能体记录一下,看是不是没有调用成功

再次进行测试

查看运行结果发现还是不对,依旧是时间部分的错误
这是什么原因呢?

调试错误
我们在最开始设计数据库表格数据的时候,按照DeepSeek输出的表格格式,设置了这两个时间字段为Time格式,我们以为Time格式是日期或者时间这样分开的数据,但是在数据库表格中的记录情况是一个完整的Time
它包含了日期和具体时间,精确到了秒,而且记录的时间还不够准确
那么我们尝试把字段格式更改成字符串(String)试试,记录具体的时间数据呢?

由于要更改表的结构,我们先清空一下数据

然后在数据库部分点击编辑表

在弹出的窗口中点击表结构

我们的目的是更改这两个字段的字段类型,点击编辑表结构

更改好之后,点击保存

然后再次进行测试,可以看到智能体依旧是显示运行成功的

我们再查看一下数据库字段的存入情况,这次是正确的了
为什么呢?

其实刚刚在分析错误的时候我们就大致明白,Coze数据库内部字段的存储格式规则我们并不清楚,所以在设置时间相关字段的时候,选择的字段格式是Time,这就导致最后的存储结果跟我们想象的不大一样
所以其实在后期做数据表结构的时候,建议大家不知道如何定义字段类型的话,都选择字符串(String)类型
这个类型是最不容易出错的,在输出的时候也可以输出存储的全部字段内容
扩展讲解:
我们的is_done(日程完成状态)也可以使用字符串类型,但是布尔类型就只有两个值:“真”(True )和 “假”(False ),所以我们定义为布尔类型,方便我们去辨别日程的完成情况
如果想要使用字符串去设置的话,可以直接定义这个字段只有两个值,“是”或“否”,默认值为“否”
这样的话,人设与回复逻辑这里这样写就行:
##日程记录
当用户提到“记录日程”时,提取用户消息中的事件内容,日程日期,具体时间,用两个值(“是”、“否”)体现日程完成状态,一般都默认为“否”,存储到数据库'user_schedule'对应的字段中。
这个部分只做扩展的讲解,就不给大家展示了,感兴趣的朋友可以自己尝试一下
4.➕数据库的数据添加
我们首先点击添加到智能体中的数据库

在这里可以对数据表进行修改,包括数据表的结构、用户模式、以及数据的上传

表结构的更改我们在前面的调试部分就有提到过,所以这里重点说一下数据上传的部分
比如我们希望表格里是有一些固定的数据的,这一般是用在测试阶段,方便检验工作流是否设置正确、
所以给大家展示下如何上传数据
(1)添加行
如果数据不多的话,可以点击添加行,一条一条的进行添加

操作起来还是比较简单的,点开就会出现这个弹窗

填好之后点击插入即可

可以看到数据已经插入成功了

(2)批量导入
如果数据较多的话,就需要用到批量导入

点击之后会出现这个弹窗,需要我们上传文件,不过自己制作的表格文件不太符合平台的标准,我们需要下载平台的文件模板

下载好之后可以看到,它是严格按照我们的表结构给到的excel表格,我们在这里填入想要批量添加的数据即可

添加好之后保存一下,然后再回到刚刚的界面进行文件上传

点击上传文件

上传好之后点击下一步

第五步需要对表结构进行对比配置,如果使用的是默认的模板就不需要更改,直接点击下一步即可
如果是自己做的一个表格,就需要按照实际数据情况更改一下配置

预览查看我们的数据没有任何问题,再点击下一步

点击确认完成处理

可以看到数据已经成功的添加进数据表了
