在代码辅助编程领域,出现了很多类似Github Copilot和CodeGeeX等优秀的产品,但是很奇怪,关于DB这块,很少听说有哪些被AI赋能的优秀产品。后续我查了下,确实鲜有,猜测背后的原因,主要是难度太大了,尤其获取表结构和数据这块儿。但还是有两款,大家可以尝试下。
1、Chat2DB
Chat2DB是阿里出品的一款DB客户端工具,里面集成了AI功能,背后使用的是自己训练的专属SQL大模型,并且开源了Chat2DB-SQL-7B这个版本。产品支持多种数据库类型,例如常用的MySql、Postgres、Oracle、Redis、MongoDB等。但是我使用后的感觉,说实话,很一般,能力有限,达不到我期待的AI DB客户端工具。其核心的功能主要有可以通过自然语言的描述编写SQL、反向解释写出的SQL文、帮你优化SQL的写法、支持写SQL时联想补全和做简单的数据分析和数据挖掘。

(自然语言编写SQL)

(智能补全SQL)
使用的真实体验:
1、SQL补全也没有特别想象中的那么智能,反正我感觉很一般,大多数时候补全的内容不是我期待的。
2、自然语言需要描述得特别清楚,写出来的SQL文质量才OK。但是对大多数程序员来说,写SQL并不是什么难事,花了那么大劲,有时间用自然语言描述的那么清楚,或许都自己写出来了。
3、对于非程序员来说,你即使用自然语言编写了,但是如果自然语言描述的有问题,SQL执行时报错,你还不知道怎么改SQL,通过自然语言去生成修改SQL也不够智能,所以这就显得很尴尬。
4、反向解释SQL成自然语言,有点用处,准确度还可以。
5、优化SQL写法,只能说也还好吧,但是有的时候优化后反而改变了原来SQL的本意,所以还不是那么的好用。
6、可能是由于DB的特殊性,解析DB的上下文获取不到。有些我认为比较简单的操作,他实现不了,很不智能,例如我让他自动读取某个表的结构,给我随机插入一条数据,这种简单的操作都实现不了。
7、可以做简单的数据分析,生成各种图表。但是数据挖掘那,我是真没体会到,也会许是我不太会用。

(智能分析生成图表)
最关键的是,这款AI DB客户端工具可并不是完全免费的,收费。免费的额度很少,用着用着就使用完了。要付费的话,虽然不贵,但是有AI使用次数的限制。它要是好用我也忍了,或许会付费,不过就这个AI功能支持程度,我是不会付费的。

(付费套餐)
所以阿里在这个产品上想圈钱有点太急了,强烈建议先继续完善产品。就这个产品现在支持的功能,即使是免费的,我能使用的次数都很有限。
结论:确实集成了AI功能,但是只限于帮助你写SQL文,但是能力一般,最不满意的地在于数据结构上下文没有处理的太好,不够智能,一些简单的需求实现不了。数据分析统计也只能做一些简单的场景,数据挖掘这块没看出来。
不过即使是这样,现在也是我找到的最好的被AI赋能的DB客户端工具了。
官网地址:
https://chat2db-ai.com/
2、dblab
这款产品完全免费,功能上没有上面提到的Chat2DB那么多。它最关键的一个地方在于,如果你的DB中还存在视图等,它读取不到,它只能针对数据库表,这一种类型进行操作。

(dblab)
相信从上面的图大家也可以看出来,其交互,主要是提供了一个Chatbot的聊天窗口,通过聊天的方式,辅助你进行核心的四个功能:自然语言写SQL、解释SQL、优化SQL、修改SQL。所以本质上还是基于SQL文的操作。

具体也不过多介绍了,因为免费,所以偶尔用用还可以,没有阿里那款产品那么收费还那么不好用,让我那么的不爽。dblab其实它就是把传统在Web端使用的Chatbot搬到了IDE里面,方便读取数据库表,提供上下文,所以也不那么复杂。
官网地址:
https://dblab.ai/
----------
最后做一个总结,通过这两款产品,也了解了现在AI赋能DB领域能做到哪些。现在也只是通过AI在写SQL这个领域,能进行赋能。如果说通过自然语言的描述,不写SQL,直接操作数据库得到我们想要的结果(就例如我直接让它在表中插入一条数据),现在还做不到。本质上由于获取DB中的上下文信息和直接读取表中的数据,太困难,起码现在还很难做到。所以Chat2DB说的深度挖掘数据这块,我是不信,一个数据库中,几百G数据,你在这扯数据挖掘,过于夸大产品本身了。
