阿里开业项目chat2DB-人工智能SQL分析介绍

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. 特点

  • 🌈 AI智能助手,支持自然语言转SQL、SQL转自然语言、SQL优化建议
  • 🔥 SQL查询、AI查询和数据报表完美集成的一体化解决方案设计与实现
  • 👭 支持团队协作,研发无需知道线上数据库密码,解决企业数据库账号安全问题
  • ⚙️ 强大的数据管理能力,支持数据表、视图、存储过程、函数、触发器、索引、序列、用户、角色、授权等管理
  • 🔌 强大的扩展能力,目前已经支持MySQL、PostgreSQL、Oracle、SQLServer、ClickHouse、OceanBase、H2、SQLite等等,未来会支持更多的数据库
  • 🛡 前端使用 Electron 开发,提供 Windows、Mac、Linux 客户端、网页版本一体化的解决方案
  • 🎁 支持环境隔离、线上、日常数据权限分离

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

  • 1、需要有一个openAI的key:OPENAI_API_KEY
  • 2、客户端网络可以连接到官网,国内需要科学上网。注意:如果本地VPN未能全局生效,可以通过在客户端中设置网络代理HOST和PORT来保证网络连通性

查看key:OPENAI_API_KEY方式:

信息配置:

  • Api Key 必填,需要输入自己查询到自己的Key
  • Api Host 选填,默认值为 https://api.openai.com
  • HTTP Proxy 一般代理都是在本地电脑启动 我这里是127.0.0.1
  • HTTP Proxy Prot 我的梯子代理端口为 1080 这里根据自己情况而定

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

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

  • 1、不需要openAI的key
  • 2、不需要代理,不需要VPN只要可以联网即可使用

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

  • 公众号信息

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

3-4. AI使用方式介绍

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

0. 实验素材准备

表1:game_gold

-- 表1建表语句
CREATE TABLE `game_gold` (
  `NAME` varchar(20) DEFAULT NULL COMMENT '游戏角色',
  `gold` int(11) DEFAULT NULL COMMENT '游戏金币',
  `play_role_id` int(11) DEFAULT NULL COMMENT '角色id'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 样例数据
INSERT INTO `game_gold` VALUES ('player01', 2200, 1);
INSERT INTO `game_gold` VALUES ('player02', 1800, 7);
INSERT INTO `game_gold` VALUES ('player01', 2200, 6);
INSERT INTO `game_gold` VALUES ('player02', 1800, 9);
-- 表2建表语句
CREATE TABLE `wow_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色id',
  `role` varchar(255) DEFAULT NULL COMMENT '角色简称',
  `role_cn` varchar(255) DEFAULT NULL COMMENT '角色类型',
  `role_pinyin` varchar(255) DEFAULT NULL COMMENT '角色拼音',
  `zhuangbei` varchar(255) DEFAULT NULL COMMENT '装备类型',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

-- 样例数据
INSERT INTO `wow_info` VALUES (1, 'fs', '法师', 'fashi', '布甲');
INSERT INTO `wow_info` VALUES (2, 'ms', '牧师', 'mushi', '布甲');
INSERT INTO `wow_info` VALUES (3, 'ss', '术士', 'shushi', '布甲');
INSERT INTO `wow_info` VALUES (4, 'dz', '盗贼', 'daozei', '皮甲');
INSERT INTO `wow_info` VALUES (5, 'ws', '武僧', 'wuseng', '皮甲');
INSERT INTO `wow_info` VALUES (6, 'xd', '德鲁伊', 'xiaode', '皮甲');
INSERT INTO `wow_info` VALUES (7, 'sq', '圣骑士', 'shengqi', '板甲');
INSERT INTO `wow_info` VALUES (8, 'zs', '战士', 'zhanshi', '板甲');
INSERT INTO `wow_info` VALUES (9, 'dk', '死亡骑士', 'siwangqishi', '板甲');
INSERT INTO `wow_info` VALUES (10, 'dh', '恶魔猎手', 'emolieshou', '皮甲');

两张表关系:

示例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%

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/35891.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题

目录 1. 多态(polymorphism) 1.1 构成多态的两个条件 1.2 虚函数重写(覆盖) 1.3 协变构成多态 1.4 父虚子非虚构成多态 1.5 析构函数的重写 1.6 final 和 override 关键字(C11) 1.7 重载、覆盖、隐藏的对比 2. 抽象类&am…

11、架构:CI/CD 设计

本章内容是基于 DevOps 体系的精简版本,如果有阅读过之前 DevOps 小册的同学,可以快速掠过。 开局先放一张镇楼图,上图我在行云集团做的通用型 CI/CD 解决方案 ALL IN DOCKER,所有的操作构建与发布过程都在 Docker 中操作。 但很…

J2EE自定义mvc【框架配置及功能】

目录 一、配置步骤 二、配置框架前三步 导入相应的jar 导入相应的Class 导入xml文件 三、优化基本操作(增删改) 1、基础优化 编写实体类 编写BookDao类 优化BookDao JUnit测试 2、后台优化 3、前端优化 一、配置步骤 将框架打成jar包&…

IDEA使用教程 安装教程

16. Codota 插件 Codota 插件可以根据使用频率优先显示较常用的类和方法。然而,是否使用该插件取决于个人的偏好。有时工具只能作为参考,仍然需要依靠个人记忆来确保准确性。 17. 快速查看类和字段的注释 按下 F2 键可以快速查看某个类或字段的文档注…

从JDK源码级别剖析JVM类加载机制

1 什么是Java虚拟机 一个可执行java字节码的虚拟机进程;跨平台的是java程序,而不是java虚拟机,java虚拟机在各个操作系统是不兼容的,例如windows、linux、mac都需要安装各自版本的虚拟机,java虚拟机通过jdk实现功能。…

【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 文章目录 系列文章目录前言一、所有权(Ownership)1.1.、所有权(Ow…

【MySQL】不就是子查询

前言 今天我们来学习多表查询的下一个模块——子查询,子查询包括了标量子查询、列子查询、行子查询、表子查询,话不多说我们开始学习。 目录 前言 目录 一、子查询 1. 子查询的概念 2. 子查询语法格式 2.1 根据子查询结果不同可以分为:…

flutter聊天界面-Text富文本表情emoji、url、号码展示

flutter聊天界面-Text富文本表情emoji、url、号码展示 Text富文本表情emoji展示,主要通过实现Text.rich展示文本、emoji、自定义表情、URL等 一、Text及TextSpan Text用于显示简单样式文本 TextSpan它代表文本的一个“片段”,不同“片段”可按照不同的…

Matlab画等构造图

clc;clear;close all; data xlsread(TOPBRENT等T0构造.xlsx); x data(:,1) xmax max(x); xmin min(x); y data(:,2) ymax max(y); ymin min(y); z data(:,3); N 45; …

IDEA使用插件绘制UML类图+PlantUML语法讲解

安装 IDEA安装插件 安装完插件记得重启一下IDEA 安装Graphviz(亲测win11可以使用) 安装完插件之后,还需要安装Graphviz才可以渲染图形。 Graphviz安装包下载地址 安装过程很简单,直接双击或者管理员身份运行即可,注…

Docker中部署Redis集群与部署微服务项目的详细过程

目录 一、使用Docker部署的好处二、Docker 与 Kubernetes 对比三、Redis集群部署实战四、Spring Boot项目 打包镜像?小结 一、使用Docker部署的好处 Docker的好处在于:在不同实例上运行相同的容器 Docker的五大优点: 持续部署与测试、多云服务平台支…

微信小程序开发与应用——字体样式设置

要求:设置字体样式。 1、打开微信开发者工具,创建一个小程序,如下: 2、设置小程序的项目名称和路径,并选择开发语言为JavaScript,如下: 3、小程序的主体部分由三个文件组成,且都要…

VS2019+Qt5.15 在线显示百度地图

1.Qt5.15编译程序需要选择mscv2019 Release版本 2.需要到百度地图开发平台注册并获取到开发者key 3.显示地图是JS与Qt的交互过程&#xff0c;显示地图的html文件&#xff1a; <!DOCTYPE html> <html><head> <meta name"viewport" content&q…

基于ubuntu的驱动开发

一般的linux驱动开发都是基于交叉编译来进行的&#xff0c;本文尝试着从另一个角度&#xff1a;基于ubuntu的本地驱动开发来学习一下驱动的开发 一、驱动的开发与编译 1.1、编写驱动文件 #include <linux/init.h> #include <linux/module.h> static int hello_i…

深入理解Linux网络——内核是如何接收到网络包的

文章目录 一、相关实际问题二、数据是如何从网卡到协议栈的1、Linux网络收包总览2、Linux启动1&#xff09;创建ksotfirqd内核线程2&#xff09;网络子系统初始化3&#xff09;协议栈注册4&#xff09;网卡驱动初始化5&#xff09;网卡启动 3、迎接数据的到来1&#xff09;硬中…

Gradio库中的Model3D模块:实时上传和展示3D模型

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

假设我们有一个场景&#xff0c;Alice想向Chatbot询问一部电影的推荐。她发送了一条消息&#xff1a;“你好&#xff0c;能给我推荐一部好看的电影吗&#xff1f;” 在这个场景中&#xff0c;Chatbot使用了ChatGPT预训练模型。首先&#xff0c;Chatbot需要对Alice的消息进行Tok…

OpenCV读取一张8位无符号三通道图像并显示

#include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp> #include

c++编写网络爬虫

c爬虫项目 实现图形化界面UI 安装easyX&#xff08;需要用的graphisc.h&#xff09; 我之前的文章详细写到过如何安装。是这篇文章提到的&#xff1a;传送门 easyx官网 创建图形化界面 #define WINDOW_WIDTH 482 #define WINDOW_HEIGHT 300 void initUI() {initgraph(WINDO…

SwiftUI的优缺点

2019年WWDC大会上&#xff0c;苹果在压轴环节向大众宣布了基于Swift语言构建的全新UI框架——SwiftUI&#xff0c;开发者可通过它快速为所有的Apple平台创建美观、动态的应用程序。推荐大量使用struct代替类。 SwiftUI 就是⼀种声明式的构建界面的用户接口工具包。 SwiftUI使用…