1. chat2DB简介

1-1. 简介

chat2DB是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建议,极大的提升人员的效率,是AI时代数据库研发人员的利器,未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。是一种智能且多功能的通用SQL客户端和报告工具,该工具与ChatGPT的功能集成在一起。

SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。这个工具是一个SQL客户端,意味着它允许用户与数据库进行交互,在数据库上执行查询操作和其他操作。

此外,这个工具还具备ChatGPT的功能,即集成了ChatGPT的技术。ChatGPT是OpenAI开发的一种自然语言处理模型,它能够生成自然语言回复并进行对话。因此,这个工具提供了与用户进行自然语言对话的能力。

综上所述,这个SQL客户端和报告工具不仅具备执行数据库查询和操作的功能,还能够通过对话与用户进行交互。这使得用户可以使用自然语言提出问题或要求,并得到对应的回复和结果。

我的个人心得为在之前1.X版本时代,有不少bug是使用问题,但2.0版本发布后,使用感受明显得到了很大提升,其次chat2DB以及同类应用的出现,也代表着在未来的发展中,只要你能简洁准确的描述出SQL的业务需求,则即可反馈出你想要的sql语句和结果,意味着例如广大的产品经理、市场人员也一样可以渗透到数据分析开发人员的领域,实现更多的业务交集。

项目官方地址:https://github.com/chat2db/Chat2DB

 

1-2. chat2DB常用数据库支持类型

从官方项目介绍来看,目前常用的DB基本都已经支持

在后续,很快将会开放Hbase、Elasticsearch、openGauss、TiDB、InfluxDB等连接功能

1-3. 特点

 

2. 下载安装

2-1. 官方最新版下载地址

DescriptionDownload
Windowshttps://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB%20Setup%202.0.1.exe
MacOS ARM64https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB-2.0.1-arm64.dmg
MacOS X64https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB-2.0.1.dmg
Jar包https://oss-chat2db.alibaba.com/release/2.0.1/chat2db-server-start.jar

 

3. Windows版使用介绍

下载安装包Chat2DB Setup 2.0.1.exe后,直接安装即可,界面非常简洁清晰

3-1. 创建数据源

例如添加一个MySQL数据库数据源,点击MySQL即可

将连接信息填写,点击Test,测试通过,点击保存Save

注意: hosts可以直接输入IP地址,这里我做了本地的hosts解析

 

3-2.数据源管理操作

在数据库Connections中,可以看到已经添加的数据库实例清单,双击对应实例,即可进入到对应数据源管理界面

 

3-3. AI智能助手配置添加

使用前需要配置OpenAI的Api Key及本地代理配置

方式1:使用ChatGPT

方式1比较适合经常使用原生官方chat,有一定经验的老司机人员,否则建议跳过直接使用下面的方式2

查看key:OPENAI_API_KEY方式:

信息配置:

 

方式1的好处是没有使用次数限制,缺点是网络上需要自己去实现打通

 

方式2:使用阿里提供的一个统一代理服务

官方为了方便大家更快速的使用AI的能力,可以关注微信公众号,回复"AI" 获得我们的自定义API_KEY,申请完成之后参考下图进行配置即可进行使用

方式2的好处是网络上没有任何限制,直接拿到Api Key配置即可使用,方便快捷,缺点为有使用次数,每日使用25次

 

3-4. AI使用方式介绍

配置完毕后,使用方式将改变成只需要描写需求即可

0. 实验素材准备

表1:game_gold

 

两张表关系:

 

示例1:统计表wow_info的数据量

作为一个SQL开发人员,查询一张表数据量,会使用SQL语句

但作为销售或者不懂SQL的岗位,如今只需要在需求描述区域输入例如:查看wow_info表一共有多少条信息

即可获取到一样的结果

 

示例2:返回表wow_info一条样例数据

从示例2可以看到,需求描述可以多个条件结合

例如:附上SQL注释,返回一条wow_info的样例数据

 

示例3:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型

多表查询可以实现需求

需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型

 

如果实际使用场景中,你对反馈的结果不是很满意,可以补充条件来修正反馈的SQL,例如这个示例通过子查询来实现,但此时想用join来实现需求

需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型,,要求使用join实现

 

3-5.chat2DB-Dashboard使用介绍

chat2DB除可以AI智能SQL分析,还可以协助自动生成报表

例如,wow_info表中,字段:zhuangbei,代表装备类型,有布甲、皮甲、板甲等等

现在想去分析一下每种类型的占比情况

在Charts栏中可以选择不同的指标,实现不同维度的数据

例如目前纵坐标代表不同装备类型的总数count,可以在yAxis中改成percentage比例,则可以看到对应比例为30%|30%|40%