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

devtools/2024/11/18 21:43:43/

前面文章《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管理与优化的文章中将会详细介绍。

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


http://www.ppmy.cn/devtools/135038.html

相关文章

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发&#xff0c;能够通过模板渲染结合数据生成动态页面。在这篇文章中&#xff0c;我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据&#xff0c;并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染&#xff1f;1.1 概…

uni-app快速入门(八)--常用内置组件(上)

uni-app提供了一套基础组件&#xff0c;类似HTML里的标签元素&#xff0c;不推荐在uni-app中使用使用div等HTML标签。在uni-app中&#xff0c;对应<div>的标签是view&#xff0c;对应<span>的是text&#xff0c;对应<a>的是navigator&#xff0c;常用uni-app…

数学建模问题攻略指南

数学建模是一个将现实世界的复杂问题转化成数学形式来对问题进行分析和求解的过程。这个过程涉及将实际问题中的复杂因素简化为数学结构&#xff0c;并用数学语言描述这些因素及其相互关系。 引入一个经典问题&#xff1a;长方形&#xff08;四角连线呈长方形&#xff09;的椅…

《线性代数》学习笔记

列向量无关 上个星期继续学线性代数&#xff0c;一个矩阵&#xff0c;如何判断它是的列向量有几个是线性无关呢&#xff1f;其实有好几个方法。第一个就是一个一个判断。 先选定一个&#xff0c;然后看下这两个&#xff0c;怎么看呢&#xff1f;如果两个列向量线性相关&#…

学习大数据DAY62 指标计算

客户需求 第一张汇总报表需要的指标 - 决策报表 汇总表 每次计算只有一天的记录 - 大 BOSS: - 全部会员数 新增会员数 - 有效会员数 有效会员占比 - 流失会员数: 倒推一年含一年无消费记录的会员 - 净增有效会员数 - 会员消费级别分类人数 (A >2000 B >1000 < …

WPF Gif图谱 如果隐藏的话会存在BUG

<hc:GifImageWidth"110"Height"110"Margin"20,20,0,0"Stretch"None"Uri"./../WPF/Asset/Image/fire_on.gif"Visibility"{Binding FireVisibility}" />FireVisibility 初始状态必须为&#xff1a;Visibility…

【MySQL】MySQL数据库入门:构建你的数据基石

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;MySQL初阶探索&#xff1a;构建数据库基础 欢迎大家点赞收藏评论&#x1f60a; 目录 &#x1f985;数据库基础&#x1f400;什么是数据库&#x1f40f;主流数据库&#x1f986;MySQL数据库的基本…

【计算机网络】HTTP协议

一、网址 1.URL URL就是我们平时说的网址 2.urlencode/urldecode 像 / ? : 等这样的字符&#xff0c;已经被url当做特殊意义理解了。因此这些字符不能随意出现 如果某个参数中需要带有这些特殊字符&#xff0c;就必须先对特殊字符进行转义 -> urlencode 服务器收到url…