DB-GPT系列(五):DB-GPT六大基础应用场景part2

前面文章《DB-GPT系列(四):DB-GPT六大基础应用场景part1》讲了DB-GPT六大基础应用场景中的基础问答、知识库问答、Chat Excel功能,这篇文章继续介绍剩下的3个基础应用场景:Chat DB、Chat Data、Chat Dashboard。

一、Chat DB

DB-GP中的Chat DB数据库对话功能,是通过自然语言对话,实现数据库元信息查询、SQL代码生成。但是需要注意的是,生成的SQL代码不会实际运行。

我们通过以下几步来实际看下Chat DB功能:

  • 安装数据库服务
  • 导入示例数据
  • 创建数据库连接
  • 数据库对话

1、安装数据库服务

下面以mysql数据库安装为例子,只要简单几条命令,就可以安装好数据库。

如果主机本身有数据库服务,或者有现有的可连接的数据库,就可以直接创建数据库连接,跳过"安装数据库服务"、"导入示例数据"这两步。

主机输入shell命令:sudo apt update

该命令是更新Ubuntu的包列表

主机输入shell命令: sudo apt install mysql-server

该命令是安装MySQL服务。

安装完成如下图。

继续输入命令开启mysql服务,然后连接mysql服务:

sudo service mysql start  
mysql

输入以下命令,设置mysql的初始root账户和初始密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
exit;

以初始root账户密码重新登录mysql

mysql -uroot -p123456

2、导入示例数据

在DB-GPT的目录下有一些示例sql语句,可以进行示例数据的导入

具体目录位置:DB-GPT/docker/examples/sqls

这里以导入 /case_1_student_manager_mysql.sql 为例

cd /root/DB-GPT/docker/examples/sqls
mysql -uroot -p123456 < case_1_student_manager_mysql.sql

查看是否导入成功

# 登录mysql
mysql -uroot -p123456
# 查看数据库是否创建成功
show databases;
# 查看表是否创建成功
show tables;
# 切换到case_1_student_manage数据库
use case_1_student_manage;
# 查询表students是否成功导入数据
select * from students;

3、创建数据库连接

在DB-GPT主页上,点击"应用管理"导航,选择"数据库"tab页,选择MySQL数据库然后点击"Create Now"来创建数据库连接。

需要填写数据库名称、密码和端口号等信息。创建成功后,DB-GPT就能与指定的数据库建立连接,实现数据库对话功能。

4、数据库对话

数据库连接成功后,就可以开始测试ChatDB功能了。

通过ChatDB对话,可以查询数据库中的表元信息、自动编写SQL语句、进行SQL查询优化等。

输入问题数据库里面有哪些表?

再输入问题怎么查具体某个学生的成绩?

可以看到,SQL语句并没有去实际执行。

二、Chat Data

前面的ChatDB专注于获取数据库中信息,而ChatData则是和数据库中的实际进行对话,这是两者的最大差异。

在DB-GPT主页上,点击"探索广场"导航,选择"ChatData"进入对话。

再输入前面Chat DB同样的问题怎么查具体某个学生的成绩?

可以看到提示SQL执行失败的错误,实际SQL会连接到SQL进行执行。

查看后台的出错信息,因为对话的问题中没有指定具体查询的是哪个学生的成绩,所以SQL的where条件是"students.student_id = ?",因此SQL执行出错。

因为DB-GPT缺乏debug功能,同时受限于SQL代码环境(比如:各种SQL方言),很多更加灵活的数据清洗和可视化操作在默认情况下无法顺利完成。

后续文章将会介绍怎么改造DB-GPT完成SQL debug的功能。

输入问题怎么查学生张三的具体成绩?

可以看到SQL正常执行,同时Data页显示了整齐的数据结果表格。

输入问题请分析不同科目的平均成绩,并用柱状图展示。

可以看到SQL正常执行,不单只Data页显示了整齐的数据结果表格,Chart页页显示了对应的柱状图。

三、Chat Dashboard

Chat Dashboard仪表盘对话可以围绕某个数据库,针对某个问题进行多维度分析与可视化展示。

输入问题请分析各个同学的学习情况

可以DB-GPT自动进行了不同维度的分析,结果中也有各种图表的自动生成。

在"Editor"tab页,可以看到每一个分析版块对应的具体SQL语句。

后台可以看到,DB-GPT自动进行的一步步思维链的过程

整个分析思维链过程,可以自定义prompt进行改造优化,后续prompt管理与优化的文章中将会详细介绍。

也看到有功能对报告进行评分。

相关推荐
p@nd@7 分钟前
Oracle筑基篇-调度算法-LRU的引入
数据库·oracle·操作系统·lru
lovelin+v175030409668 分钟前
智能电商:API接口如何驱动自动化与智能化转型
大数据·人工智能·爬虫·python
rpa_top10 分钟前
RPA 助力电商:自动化商品信息上传,节省人力资源 —— 以影刀 RPA 为例【rpa.top】
大数据·前端·人工智能·自动化·rpa
来一杯龙舌兰18 分钟前
【MongoDB】使用 MongoDB 存储日志、审批、MQ等数据的案例及优点
数据库·mongodb
赵谨言19 分钟前
基于python+django的外卖点餐系统
经验分享·python·毕业设计
技术路上的苦行僧20 分钟前
分布式专题(8)之MongoDB存储原理&多文档事务详解
数据库·分布式·mongodb
视觉语言导航24 分钟前
arXiv-2024 | STMR:语义拓扑度量表示引导的大模型推理无人机视觉语言导航
人工智能·具身智能
孤独的履行者27 分钟前
入门靶机:DC-1的渗透测试
数据库·python·网络安全
wy02_35 分钟前
MySQL-MVCC(多版本并发控制)
数据库·mysql
CodeClimb36 分钟前
【华为OD-E卷-最左侧冗余覆盖子串 100分(python、java、c++、js、c)】
java·python·华为od