DB-GPT 实战:业务同事用大白话查数据库,AI 自己写 SQL 出报告
2026/9/7 1:54:25 网站建设 项目流程

DB-GPT 实战:业务同事用大白话查数据库,AI 自己写 SQL 出报告

【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI + Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT

周五晚上九点,运营负责人甩来一句:"这周各渠道的新增用户数,拆一下,明天开会要用。"数据工程师已经下班,能写 SQL 的人一个都找不到,你只能回一句"周一吧"。DB-GPT 就是为这种时刻准备的开源 AI 数据助手:接上你的数据库,或者直接扔一个 Excel 文件进去,用自然语言提问,它自己写 SQL、跑分析代码、出图表和报告,你全程不用写一行查询语句。

快速上手:装完就能开始问数据 🚀

先说结论:不用编译、不用配数据库,一条命令就能跑起来。前提是 Python 3.10 以上。

pip install dbgpt-app # 安装,含核心框架和常用 LLM 支持 dbgpt start # 首次运行会引导你选模型供应商、填 API Key

启动成功后浏览器打开http://localhost:5670就是完整界面。它默认内置了 OpenAI 兼容接口的支持,DeepSeek、通义、Kimi 这类都能通过 API Key 接入;想完全本地化,也可以用 vLLM、llama.cpp 起本地模型,仓库的configs/目录里有一堆现成的 TOML 配置可以直接抄。如果你更习惯从源码跑,也可以 clonehttps://gitcode.com/GitHub_Trending/db/DB-GPT然后执行scripts/install/install.sh一键装好。

装好之后,随便连个数据源、传个 CSV,就可以开始问了。下面我们把一次提问拆开看,看看"一句话"到底是怎么变成图表的。

一句话查完销售数据:跟着一问到底走一遍

假设你连了一个销售库,输入:"按区域统计上季度销售额,画个柱状图,顺便说下哪个区最弱。"

接下来发生的事是连续的一口气,而不是四个割裂的步骤。Agent 先把这句话规划成任务:要查什么表、按什么维度聚合。然后它去读你库里的表结构和字段注释,生成一条 SQL——这一步你可以在界面上直接看到生成的语句,错了能改。SQL 执行后拿到的原始数字,会交给它做第二轮处理:补一个柱状图节点,再写一段中文结论,"华南区垫底,环比下滑 12%"。最后你收到的不是一堆数字,而是图 + 结论的组合。

整个过程的每一段推理和每段代码都对你是可见的,哪一步不对可以打断纠正。这种"计划-执行-反思"的 Agent 模式是它和"一问一答"式聊天最大的区别,也是它能处理多步分析的原因。能问数据库,那数据本身从哪儿来?这就是第二个值得看的地方。

数据从哪来:数据库、表格、知识库走同一个入口

市面上大多数 Text2SQL 工具只认关系型数据库,文件里的数据它们碰不了。DB-GPT 在核心包里单独放了一个datasource模块,把关系库、CSV/Excel 文件、文档和知识库都收在同一套接口后面,Agent 在一个任务里可以混着查。

数据类型典型例子
关系型数据库MySQL、PostgreSQL、ClickHouse、Doris、StarRocks
表格文件CSV、Excel,直接上传当数据源用
文档/知识库PDF、Word,走 RAG 检索

新数据源在网页界面里填连接信息就能加,不用改代码。这意味着"销售在 MySQL、行为日志在 ClickHouse、制度文档在知识库里"这种常见乱局,可以在同一个会话里一起问。而当你想固定某套分析流程,让它每次都照章办事时,就该用它的 AWEL 引擎了。

想让 AI 固定按你的流程干活:AWEL 和技能 🧩

AWEL 全称 Agentic Workflow Expression Language,可以理解成一套画数据流图的 DAG(有向无环图)引擎:把"取数 → 清洗 → 调 LLM → 出报告"每个环节做成节点,连线就是执行顺序。它有两面:可视化界面上拖拽节点、配参数,适合业务同学;Python API 里用DAG类编程式定义,适合研发写进自己的产品。

比流程更轻的还有"技能(Skill)"机制——把提示词、需要的工具、依赖的知识库打包成可复用的能力单元。仓库skills/目录自带了 CSV 分析、财报分析、沃尔玛销售分析这几个现成技能,自己扩展大概就这几行:

from dbgpt.agent.skill import SkillBuilder, SkillType skill = ( SkillBuilder(name="sales_report", description="销售周报分析") .with_skill_type(SkillType.DataAnalysis) .with_required_tool("python_interpreter") .build() )

注册进 Agent 之后,它就变成一段可以被反复调用的固定流程。能力搭得差不多了,真正要上线时,绕不开安全问题。

上生产之前,先把三件烦心事交代清楚 🔒

关心生产环境的人一般就问三句:AI 写的代码在谁机器上跑、数据会不会出内网、怎么部署怎么扩。

第一个问题,DB-GPT 有独立的dbgpt-sandbox包,Python、Shell、Node.js 这些 AI 生成的代码默认丢进隔离环境执行,后端可以是 Docker、Podman 或本地进程,而且沙箱是有状态的——第一次执行装了依赖,第二次还能用,不会每次从零开始。第二个问题,模型层是代理式设计,你接什么模型、数据走哪条链路自己说了算,配合本地部署的模型可以做到数据完全不出内网。第三个问题,docker/allinone/里有一键镜像和docker-compose.yml,单机验证到多节点集群部署都有现成模板,核心配置就是一个 TOML 文件,参考configs/dbgpt-app-config.example.toml即可。

它适合谁,什么时候该用

如果你是业务侧,基本不写代码,只是想让团队少等几天数据结果:上传 Excel 就能用,连上数据库也能问,属于"装完就有用"的那类工具。如果你是开发侧,想把"自然语言 → 分析"这条链路嵌进自己的产品:AWEL 的 Python API、Skill 体系和 核心模块源码 里的 Agent、数据源模块都是可以直接调用的积木。如果你是运维侧,要评估落地成本:一键 Docker 镜像 + 单 TOML 配置的模型比较省心,但沙箱执行依赖容器环境,部署前把 Docker 权限理清即可。

回到开头那个周五晚上:运营再把"各渠道新增用户数"丢进对话框,几分钟内图和数据就出了,你也不用再回"周一吧"。项目源码在 packages/dbgpt-core/src/dbgpt/,Agent 机制的详细文档可以看 docs/docs/agents/introduction/introduction.md,照着搭一个最小 demo,一两个小时的量。

【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI + Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询