背景前摇&原视频教程:
最近看到很多同学都在用Coze平台操作数据,我也想了解一下工作流的搭建和数据处理过程,但是一下子又看不懂太复杂的逻辑,于是上B站搜索相关的基础教程。
Coze官方教程:
之前有看过Coze平台的官方教程:传送门
https://www.bilibili.com/video/BV1zC35eFEyN?spm_id_from=333.788.videopod.sections&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82

但是这个教程稍微有些太基础了,学完以后面对真实数据处理场景还是一脸懵逼。而且实操案例的那一p视频顺序有些乱,跟不上思路。
但如果是完全零基础的小白,建议还是先看看官方教程的视频和文档,对Coze的一些诸如创建智能体、各类节点是做什么的有一个基础了解。
@包子AI实验室 的教程:
我换了搜索关键词,在B站上搜“Coze数据处理”相关的视频,然后发现一个还不错的视频专栏——来自@包子AI实验室 的实操系列视频。

本文写作目的:
因为我最常见的用法就是通过Coze操作Excel数据表,所以我最先看的就是《【Coze 功能全解】工作流之“Excel 文档批量导入数据库”》这一篇,然后自己实操了整个流程。
在模仿学习的过程中,作为经验几乎为0的小白,我发现我还是遇到了很多疑难卡点,因此决定把原视频中省略的一些细节,以及我解决问题的一些参考资料记录下来。
正文:
数据准备:
首先我们需要准备一个Excel表格,这个表格的名字跟着作者起名“书籍列表_测试.xlsx”即可(其实这个名称不重要,随便叫啥都行)。如果能要到下图这个原作者的Excel文件更省心,我这里就自己随便照着视频截图写了几行数据。

这个书籍列表里需要有四个字段,并且字段名要严格一致:title,author,purchase_price,description。
具体数据写个几排意思一下就好。

如果不想自己编,可以直接复制我用的数据:
| title | author | purchase_price | description |
|---|---|---|---|
| 活着 | 余华 | 35 | 我只想活着 |
| 哈利·波特系列 | J.K.罗琳 | 299 | 魔法世界 |
| 小王子 | 安托万·德·圣埃克苏佩里 | 25 | 童话故事 |
| 1984 | 乔治·奥威尔 | 45 | 反乌托邦小说 |
新建数据库:
准备好数据以后,我们需要去Coze平台新建一个名为book_list的数据库。
1.可以通过工作空间——资源库——右上角新建——数据库来新建数据库。

2.也可以在Agent智能体页面点击+号,弹出的页面支持添加已有现成的数据库,也支持新建数据库。

如果要新建数据库的话,步骤是:点击”新建数据库“——自定义数据表,然后建立一个新数据库。

输入数据库信息:
进入新建数据库页面以后,就需要输入数据库的名称和描述,这里我们就按照原作者的来,数据表头像这个无所谓,可以用默认的,也可以点击旁边的按钮让AI重新生成一个:


我们一共需要4个字段,按照原作者这样填写就可以,注意,这几个自定义字段的名称,author,title,puchase_price,description,一定要和Excel文件的列名完全一样!不然可能导致数据无法正确对应,后续编写插件的时候,代码无法正常运行。


假设我们初学就简单点,按照完全对应关系来建立数据库,字段就按照下图原作者的抄成一模一样的:

创建完成后,应该这个数据表会长得跟我这张截图一样:
(关于上面的默认字段,我想应该是版本差异问题?看原作者的数据表里面没有那4个删不掉的默认字段)

创建Bot:
我们创建一个名为”批量导入数据库数据“的Bot。



智能体如何与数据库交互:
原作者提供了两种思路。
1.把文件发给智能体。配合提示词(打字对话),跟智能体说,把这个文件的内容插入到数据库。
但原作者发现这个方法行不通,经过我测试,确实也不行。

2.通过拼接SQL来实现数据库增删改查,也就是我们现在采用的这套工作流的思想。
获取用户上传的Excel文档地址——》读取文档内容——》拼接成SQL语句——》数据库节点执行SQL实现添加数据。
原作者本来想直接使用Coze的代码节点来实现读取文件链接,并且读取文档内容形成SQL的方法,但是发现代码节点不支持安装Python包。
(读取文件链接需要pandas等依赖包,但是代码节点装不了,就没法解析Excel)

于是,只能先创建一个插件,插件就支持安装读取Excel链接必要的Python依赖包,先在插件实现了读取文件链接拼接SQL的功能,然后再在工作流里面调用插件,把SQL写入数据库,最后再把这个工作流给智能体,并且配合提示词,让智能体知道,每次我们给他发个文件链接,就是希望用到这个工作流。
实现流程示意图:
我按照自己的理解画了一张示意图,这里面有一些陌生的工作流和插件的名字,没关系,我们后面会一一讲到他们是什么。

实现读取文件链接功能的插件:
官方插件的尝试和不足:
在新建插件以前,作者先尝试了一个名为“文件读取”的官方插件,这个本来读取文件链接没有什么问题,但是在对文件内容进行处理时,作者提到,“只能通过大模型来输出SQL,这样便对文档的长度做出了限制。倘若文档过长,便会导致输出内容不完整。”

“只能通过大模型来输出SQL”——这一点我也不是很明白是什么意思,也许是这个文件读取节点返回的数据很有限,只能喂给大模型节点,配合提示词来依赖大模型生成SQL?也就是说,这个SQL能不能把数据完好无损地插入数据表,全靠大模型自身对数据的理解和整合SQL的能力???如果模型不靠谱,那么就可能导致插入失败,或者漏数据,数据错位??
“这样便对文档的长度做出了限制。倘若文档过长,便会导致输出内容不完整”——这个我猜测是不是大模型的输出有token限制?如果要插入的数据很多的话,SQL语句会很长,超出限制了模型没法写完,自然插入就会少内容。
我打开这个文件读取的示例,手动连了下工作流测试,看看输入输出。我们就看下图上面那个红框内的输出就好,下面的红框是正式工作流,后面会讲到。

在看工作流的结果之前,先点开节点看看示例输入输出:

文件读取这个节点的输入就是一个普通的url,没什么操作空间:

{
"url": "https://lf-bot-studio-plugin-resource.coze.cn/obj/bot-studio-platform-plugin-tos/lyc_test.docx"
}
文件读取节点的输出

{
"code": 0,
"data"

最低0.47元/天 解锁文章
689

被折叠的 条评论
为什么被折叠?



