兹拉坦
#4
趟坑记录
DB-GPT x OceanBase 的实验步骤详见:网页链接。这次实在是没遇到啥坑,为了保持和前两篇内容结构相仿,鸡蛋里面挑骨头,强行给 DB-GPT 和 OceanBase 提上几个小问题。
第一个问题是 OceanBase 为了支持单集群多实例,引入了一个租户(tenant)的概念,很多数据库并没有这个概念。所以大家如果看到需要填写类似于连接串的地方,只要求填写用户名,但没有要求填写租户名,那就把 user_name 填写成 user_name@tenant_name 的形式吧(后面在 DB-GPT 中创建连接串时也会遇到类似的问题,大家可以自适应克服一下)。
第二个问题是拉 DB-GPT 的镜像比较慢,不过大概率是我网络的原因。晚上九点拉的,十分钟才下载了百分之一二的样子,被逼无奈,只能先回家打游戏,等到第二天上班的时候,就已经拉完了。我公司的网络,上班时间极差,但周末神速,所以这个下载速度可能并不值得大家参考。大家如果用公司网络下载比较大的镜像,推荐选择周末或者夜深人静的时候。
如果大家是在 MacOS 上搞的,可能会有个操作系统兼容性问题的 WARNING,不过既然不是 ERROR,那就先忽略吧,反正用起来没啥问题。
第三个问题是 DB-GPT 中的数据源如果有元数据更新,chat data 应用不会去自动感知并更新元数据,需要大家手动删掉数据源再重新连接一次。听说之前 DB-GPT 时把删除和重建的动作合并成了一个刷新的按钮,不知为何新版本被去掉了,好在有绕过的方法,影响不大。
14 个赞
兹拉坦
#5
准备数据
这次实现如果只想做 chat data 应用的话,并不需要准备什么数据,随便在数据库里搞点儿测试数据就好了。我是搞了个 TPCH 1G 的测试集,然后导入了一张大表 lineitem 的数据。大家如果已经有了 OceanBase 的测试环境,直接拿测试环境的数据来用就行。
效果展示
我的测试集里没有那么多花里胡哨的东西,估计不会画出花花绿绿的图,大家自行以小见大、以陋见繁吧。
示例一
先让 chat data 写一条简单的 SQL,对 TPCH 测试集的数据进行查询,并生成可视化的图表,效果如下:
chat data 会自动拿着生成的 SQL 去数据库里执行,并返回查询结果。感觉都能直接当成执行 SQL 的客户端来用了……
生成图表这里并没有详细说明横纵坐标分别是什么,可能因为 SQL 比较简单,所以 chat data 凭自己感觉生成的柱状图也是最优解。而且还可以直接在柱状图中选择为哪些结果数据展示出对应的柱子。
示例二
接下来稍微犯点儿坏,测试一下窗口函数。因为我自己完全想象不出来 chat data 能拿着窗口函数的计算结果,画出什么样的 chart 来。
只要自然语言的描述足够清晰,SQL 就能写的分毫不差,这里不再细表。
画图的结果比较出乎意料,chat data 可能是感知到了这条 SQL 是在故意为难它,直接就撂挑子不画了。和答疑机器人对不懂的问题一本正经地胡说八道不太一样,chat data 还是很懂得量力而行的(对于 AI 来说,有自知之明也许是件好事)。
如果对于其他适合可视化展示结果的 SQL,它就会一次性生成多种 chart,供用户选择。
示例三
最后发现数据库里自带了一张叫做 plant_and_animal_table 的表,应该是设计实验的同学专门为大家准备的,里面还有个向量类型列。
desc plant_and_animal_table;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | text | YES | | NULL | |
| name_embedding | VECTOR(1536) | YES | | NULL | |
+----------------+--------------+------+-----+---------+----------------+
3 rows in set (0.013 sec)
猜测图中把原本的 1536 维向量简化成了 2 维向量,不同维度的向量值,能够反映生物的某些属性。例如图中图中的 x 轴的值可能就和这个生物是动物还是植物比较相关。
有同学说在坐标系里生成散点图,可以更直观地根据点和点之间的距离,判断两种生物的相似度(不过图中的点太多,区分颜色可能有点儿费劲)。
这三个示例权当抛砖引玉,欢迎大家试用之后,在这个帖子中,和我们交流更多的发现~
14 个赞
彤栩
#11
写的太赞了,步骤都好详细啊,各种概念阐述的也特别清晰
10 个赞
兹拉坦
#13
大家在实验的过程中,如果遇到任何问题,也可以在这个帖子下留言评论。
@汪渺 老哥看到之后,会第一时间对大家的问题进行回复。
11 个赞