2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

DB-GPT:开启AI原生数据应用的智能时代

发布日期:2024-08-08 12:52:28 浏览次数: 3508
作者:小兵的AI视界

微信搜一搜,关注“小兵的AI视界”

一、前言
在人工智能时代,大模型技术正引领行业变革。它们以卓越的语言理解与生成能力,成为智能应用的核心。尽管如此,高效利用大模型构建应用仍充满挑战。DB-GPT,一个开源的AI原生数据应用开发框架,旨在简化开发流程,让智能化应用开发变得简单。本文将深入探讨DB-GPT的功能和特性,并展示其在数据应用开发中的应用。

二、DB-GPT总体概述

开源地址https://github.com/eosphoros-ai/DB-GPT
DB-GPT是一个开源的AI原生数据应用开发框架。目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。

核心能力主要有以下几个部分:

RAG(Retrieval Augmented Generation)RAG是当下落地实践最多,也是最迫切的领域,DB-GPT目前已经实现了一套基于RAG的框架,用户可以基于DB-GPTRAG能力构建知识类应用。

  • GBI:生成式BIDB-GPT项目的核心能力之一,为构建企业报表分析、业务洞察提供基础的数智化技术保障。

  • 微调框架: 模型微调是任何一个企业在垂直、细分领域落地不可或缺的能力,DB-GPT提供了完整的微调框架,实现与DB-GPT项目的无缝打通,在最近的微调中,基于spider的准确率已经做到了82.5%

  • 数据驱动的Multi-Agents框架: DB-GPT提供了数据驱动的自进化Multi-Agents框架,目标是可以持续基于数做决策与执行。

  • 数据工厂: 数据工厂主要是在大模型时代,做可信知识、数据的清洗加工。

  • 数据源: 对接各类数据源,实现生产业务数据无缝对接到DB-GPT核心能力。

DB-GPT关键特性

1、私域问答&数据处理&RAG

DB-GPT支持通过内置、多文件格式上传、插件自抓取等方式自定义构建知识库,能够对海量结构化和非结构化数据进行统一向量存储与检索,实现高效的知识管理。此外,DB-GPT还实现了基于RAG的框架,用户可以基于DB-GPTRAG能力构建知识类应用,为用户提供更加智能的问答体验。

2、多数据源&GBI

DB-GPT支持与多种数据源进行交互,包括但不限于Excel、各类数据库和数仓,同时支持生成分析报告,为用户提供深入的业务洞察。GBI,即生成式BI,是DB-GPT项目的核心能力之一,可以为构建企业报表分析、业务洞察提供基础的数智化技术保障。

3、多模型管理

DB-GPT支持海量模型,包括多种开源和API代理的大语言模型,如LLaMA/LLaMA2BaichuanChatGLM、文心、通义、智谱、星火等。用户可以根据需求选择合适的模型进行应用开发,极大地提高了开发的灵活性和便捷性。

4自动化微调

围绕大语言模型、Text2SQL数据集、LoRA/QLoRA/Pturning等微调方法构建的自动化微调轻量框架, TextSQL微调像流水线一样方便。

5Data-Driven Multi-Agents&Plugins

DB-GPT支持自定义插件执行任务,并且原生支持Auto-GPT插件模型,通过Agents协议采用Agent Protocol标准,实现智能体之间的协作和任务的高效执行。这种数据驱动的自进化Multi-Agents框架,可以持续基于数据做决策与执行,大大提高了应用的智能化水平。

6、隐私安全

DB-GPT注重数据隐私和安全,通过私有化大模型、代理脱敏等多种技术保障数据的隐私安全。这一点在当今这个数据安全日益受到重视的时代,显得尤为重要。

DB-GPT实践体验

DB-GPT刚好有支持AutoDL的镜像,因此直接在AutoDL 云平台时进行实践操作;在AutoDL云平台上,选择一台4090 GPU24G的服务器,为DB-GPT的运行提供必要的计算资源。打开jupyterLab,选择“终端”启动项,打开终端页面,后续所有操作都基于终端进行操作。

1、创建实例

选择一台4090 GPU24G的服务器,进行创建实例。

2、打开jupyterLab

选择”终端“启动项,打开终端页面,后续所有操作都基于终端进行操作。

DB-GPT启动

 1、激活 conda 环境

conda activate dbgp
2、切换到 DB-GPT 目录
cd /root/DB-GPT/
3、导入 SQLite 样例数据
bash ./scripts/examples/load_examples.sh

DB-GPT运行

1、使用命令行工具启动

dbgpt start webserver --port 6006

dbgpt DB-GPT 项目的命令行工具,这里利用命令行工具来启动(当然,你也可以使用命令 python dbgpt/app/dbgpt_server.py --port 6006 来启动)。

这里使用 6006 端口来启动服务,这个端口方便在 AutoDL 中开启公网访问。

镜像中默认准备好了 Qwen-1_8B-Chat text2vec-large-chinese 模型文件。

2、访问 DB-GPT 页面

在服务器示例列表中,找到自定义服务,点击。

点击 “访问” 后自动打开的页面如下:

DB-GPT数据对话

数据对话能力是通过自然语言与数据进行对话,主要是结构化与半结构化数据的对话,可以辅助做数据分析与洞察。在开始数据对话之前,我们首先需要添加数据源

1安装数据库

步骤1:安装MySQL数据库
sudo apt-get updatesudo apt-get install mysql-serversudo service mysql start

安装启动mysql完成之后,登录mysql(默认无密码)
mysql -u root -p

步骤2:创建数据库用户
CREATE USER 'gpt'@'localhost' IDENTIFIED BY 'gpt';
步骤3:给数据库用户赋权限
GRANT ALL PRIVILEGES ON *.* TO 'gpt'@'localhost';FLUSH PRIVILEGES;

2添加数据源

1)数据准备

目前DB-GPT支持多种数据库类型。选择对应的数据库类型添加即可。这里我们选择的是MySQL作为演示,演示的测试数据case_1_student_manager_mysql.sql

create database case_1_student_manager character set utf8;

use case_1_student_manager;

 
CREATE TABLE students (

    student_id INT PRIMARY KEY,

    student_name VARCHAR(100) COMMENT '学生姓名',

    major VARCHAR(100) COMMENT '专业',

    year_of_enrollment INT COMMENT '入学年份',

    student_age INT COMMENT '学生年龄'

) COMMENT '学生信息表';

 
CREATE TABLE courses (

    course_id INT PRIMARY KEY,

    course_name VARCHAR(100) COMMENT '课程名称',

    credit FLOAT COMMENT '学分'

) COMMENT '课程信息表';

 
CREATE TABLE scores (

    student_id INT,

    course_id INT,

    score INT COMMENT '得分',

    semester VARCHAR(50) COMMENT '学期',

    PRIMARY KEY (student_id, course_id),

    FOREIGN KEY (student_id) REFERENCES students(student_id),

    FOREIGN KEY (course_id) REFERENCES courses(course_id)

) COMMENT '学生成绩表';

 
 
INSERT INTO students (student_id, student_name, major, year_of_enrollment, student_age) VALUES

(1, '张三', '计算机科学', 2020, 20),

(2, '李四', '计算机科学', 2021, 19),

(3, '王五', '物理学', 2020, 21),

(4, '赵六', '数学', 2021, 19),

(5, '周七', '计算机科学', 2022, 18),

(6, '吴八', '物理学', 2020, 21),

(7, '郑九', '数学', 2021, 19),

(8, '孙十', '计算机科学', 2022, 18),

(9, '刘十一', '物理学', 2020, 21),

(10, '陈十二', '数学', 2021, 19);

 
INSERT INTO courses (course_id, course_name, credit) VALUES

(1, '计算机基础', 3),

(2, '数据结构', 4),

(3, '高等物理', 3),

(4, '线性代数', 4),

(5, '微积分', 5),

(6, '编程语言', 4),

(7, '量子力学', 3),

(8, '概率论', 4),

(9, '数据库系统', 4),

(10, '计算机网络', 4);

 
INSERT INTO scores (student_id, course_id, score, semester) VALUES

(1, 1, 90, '2020年秋季'),

(1, 2, 85, '2021年春季'),

(2, 1, 88, '2021年秋季'),

(2, 2, 90, '2022年春季'),

(3, 3, 92, '2020年秋季'),

(3, 4, 85, '2021年春季'),

(4, 3, 88, '2021年秋季'),

(4, 4, 86, '2022年春季'),

(5, 1, 90, '2022年秋季'),

(5, 2, 87, '2023年春季');

执行SQL,创建数据库,创建数据表、添加数据

2)数据检查

查看SQL之后,数据是否正常入库

3、绑定数据库

将我们创建的MySQL数据库设置为数据源

配置好数据库连接信息

4、对话体验

用户可以通过自然语言提问,DB-GPT会根据问题的语义理解,生成相应的SQL查询语句,并将查询结果以图表、表格或数据的形式返回给用户。这样的交互方式极大地简化了数据分析的复杂性,使得非技术用户也能够轻松地进行数据查询和分析。

1)选择数据对话

2开始数据对话

此时界面上数据库已经默认设置为我们前面绑定的数据库了,也可以手动选择

3)错误处理

在数据对话的过程中,可能会遇到一些问题,比如缺少必要的Python库或者模型对某些查询的处理不够准确。例如,如果在提问咨询时遇到“RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods”的错误,就需要安装相应的Python库来解决问题。通过pip install cryptography命令安装缺少的库后,需要重新启动DB-GPT以使更改生效。


pip install cryptography
安装后重新启动DB-GPT

4)数据对话一

问题:请帮我查询总共有多少学生?

可以看到数据查询成功,而且还分3中方式返回ChartSQLData

返回SQL语句,可以检查相关的SQL是否正确

Data页签返回执行结果

SQL执行

还可以点击上面的Editor按钮,复制SQL,直接在页面上执行,查看结果

5)数据对话二

后门连接问了两次稍微比第一次复杂一点的请求,就搞不定了。

数据对话的体验展示了DB-GPT在处理结构化和半结构化数据方面的能力,它能够理解用户的自然语言查询,并准确地转换成SQL语句,执行查询并返回结果。用户可以通过简单的问答形式,获取到他们需要的数据洞察,这对于数据分析和业务决策来说是非常有价值的。

八、总结

DB-GPT在实战中表现出强大的功能和良好的用户体验,尽管在交互和复杂任务处理上还有提升空间。随着开发团队的持续优化和社区的积极贡献,DB-GPT有望成为大模型应用开发的有力工具。我们期待其未来提供更完善的服务,助力开发者构建智能高效的应用,推动AI技术在各行业的广泛应用。

开源地址https://github.com/eosphoros-ai/DB-GPT

点亮“关注”,设为“星标”,精彩不迷路!我们携手探索AI的无限可能,精彩内容,持续为您更新!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅