eosphoros-ai/DB-GPT · 上手攻略

  • 仓库:eosphoros-ai/DB-GPT
  • 链接:https://github.com/eosphoros-ai/DB-GPT
  • 分类:ai
  • 作者:Tom
  • 更新:2026-07-11

这是什么

DB-GPT 是一个开源的 Agentic AI 数据助手,服务于"AI + Data"下一代产品。它的核心理念是:用自然语言与你的数据库、文件、数据仓库对话——AI 自动写 SQL、自动执行分析、自动生成图表和报告。

它不只是问答,而是一个能真正执行任务的 Agent:连接数据源 → 理解业务问题 → 规划执行步骤 → 写 SQL/代码 → 沙箱执行 → 产出结论和可视化。

核心能力

能力 说明
多数据源连接 MySQL、PostgreSQL、ClickHouse、Doris、S3、CSV/Excel 等,一站式接入
自然语言 SQL 用中文/英文提问,AI 自动生成 SQL 并执行
代码驱动分析 不仅 SQL,还支持 Python 数据分析、沙箱执行
AWEL 工作流 Agent Workflow Expression Language,定义 Agent 任务流程
RAG + Agent 结合知识库检索和 Agent 自主决策
多模型支持 OpenAI、Anthropic、本地模型(Llama、Qwen 等)
可视化输出 生成图表、仪表盘、HTML 报告、分析摘要
安全沙箱 代码在隔离环境中执行,防止数据泄露
Skills 生态 可打包领域知识为可复用技能(类似 Agent Tools)

解决什么问题

传统数据分析的门槛很高:需要懂 SQL、懂 Python、懂可视化工具、懂数据库结构。业务人员提一个数据分析需求,需要工程师写 SQL → 跑数据 → 做图表 → 写报告,流程慢且沟通成本高。

DB-GPT 把这个流程压缩为:业务人员用自然语言提问 → Agent 自动完成从 SQL 到报告的全流程。 同时支持多模型、多数据源,适合企业构建私有化 AI 数据分析平台。


快速安装

macOS & Linux 一键安装(推荐)

curl -fsSL https://raw.githubusercontent.com/eosphoros-ai/DB-GPT/main/install.sh | bash

Docker 部署(推荐生产环境)

# 克隆仓库
git clone https://github.com/eosphoros-ai/DB-GPT.git
cd DB-GPT

# 使用 Docker Compose 启动
docker-compose up -d

# 访问 http://localhost:5670

pip 安装(开发者)

# 创建虚拟环境
python -m venv dbgpt-env
source dbgpt-env/bin/activate  # Windows: dbgpt-env\Scripts\activate

# 安装
pip install dbgpt

# 启动(需要配置环境变量)
export DBGPT_HOST=0.0.0.0
export DBGPT_PORT=5670
export LLM_MODEL=chatgpt
export OPENAI_API_KEY=your-api-key

dbgpt start

手动源码安装(完整功能)

git clone https://github.com/eosphoros-ai/DB-GPT.git
cd DB-GPT

# 安装依赖
pip install -e .

# 或使用 requirements.txt
pip install -r requirements.txt

# 启动
dbgpt server
# 访问 http://localhost:5670

环境要求:Python ≥ 3.9(建议 3.10+),推荐 8GB+ RAM 用于本地模型。


核心用法

1. Web 界面:自然语言查询数据库

安装并启动后,浏览器打开 http://localhost:5670

  1. 连接数据源:在界面添加数据库连接(MySQL、PostgreSQL 等),填入 host、port、用户名、密码
  2. 自然语言提问:例如 "过去30天每日活跃用户数是多少?"
  3. AI 自动流程:解析意图 → 写 SQL → 执行 → 生成图表 → 输出结论
  4. 下载/分享:可导出图表、报告或 SQL 本身

2. Python API:嵌入数据分析流程

from dbgpt import DGPTServer

# 初始化
server = DGPTServer(
    model="gpt-4o-mini",       # 或本地模型如 "Qwen/Qwen2-7B"
    api_key="your-openai-key",
    db_conn="mysql://user:pass@localhost:3306/mydb"
)

# 自然语言查询
result = server.query("过去30天每日活跃用户数是多少?按天显示")
print(result["answer"])        # AI 给出的结论
print(result["sql"])           # 生成的 SQL
print(result["chart"])         # 图表 URL 或 base64

3. 使用 AWEL 定义 Agent 工作流

AWEL(Agent Workflow Expression Language)是 DB-GPT 的工作流定义语言:

from dbgpt.awel import workflow, Task

@workflow
def sales_analysis():
    # 1. 从 MySQL 拉取销售数据
    data = Task("mysql_query",
        sql="SELECT date, amount FROM sales WHERE date >= '2024-01-01'")

    # 2. 用 Python 计算月环比
    analysis = Task("python_analysis",
        data=data,
        script="""
        import pandas as pd
        df = pd.DataFrame(data)
        df['month'] = df['date'].dt.to_period('M')
        result = df.groupby('month')['amount'].sum().pct_change()
        return result
        """)

    # 3. 生成图表
    chart = Task("chart_generation", data=analysis, type="line")

    # 4. 输出报告
    return Task("report_summary", chart=chart, template="sales_monthly")

sales_analysis().run()

4. 多数据源联合查询

# 同时连接 MySQL(业务数据库)和 S3(日志数据)
result = server.query(
    "将用户表和最近一周的行为日志做关联分析,找出活跃但未转化的用户",
    sources=["mysql:mydb.users", "s3:logs/2024/"]
)

5. 私有本地模型部署

# 使用 Ollama 或 vLLM 部署本地模型,DB-GPT 可直接对接
export LLM_MODEL=llama3
export LLM_MODEL_TYPE=ollama
export OLLAMA_BASE_URL=http://localhost:11434

dbgpt start

典型适用场景

场景 DB-GPT 适用度
业务自助分析 ★★★★★ 业务人员自然语言提问,工程师零介入
数据质量检测 ★★★★☆ 自动生成数据剖析报告
跨数据源分析 ★★★★☆ 一句话关联多个数据库/文件
财务/运营报告自动化 ★★★★★ 定时生成报告,推送给相关人
私有化 AI + Data 平台 ★★★★★ 完全自托管,数据不出境
SQL 生成与审核 ★★★★☆ AI 写 SQL,减少手写错误

坑与注意

  1. 数据安全是核心考量:DB-GPT 执行 SQL 和代码需要对你的数据库有读写权限。务必在隔离环境中使用,不要直接连生产库。沙箱执行能降低风险,但无法完全杜绝误操作。

  2. SQL 生成准确性:AI 生成的 SQL 不保证 100% 正确,特别是复杂 JOIN、嵌套子查询。生产环境建议开启 SQL 审核步骤。

  3. 中文自然语言理解:DB-GPT 对中文支持相对较好(社区有大量中文用户),但复杂业务术语可能理解偏差,建议用清晰的问题描述。

  4. 多数据源连接配置较复杂:首次配置数据源(尤其是非标准数据库或 S3)需要仔细阅读文档,连接串格式有要求。

  5. 本地模型性能:使用 Llama、Qwen 等开源本地模型时,速度和效果取决于模型规模和量化级别。7B 模型响应快但质量有限,70B 模型效果好但需要 GPU。

  6. 依赖兼容性问题:部分版本对 transformerstorch 版本有要求,建议使用官方 Docker 镜像避免依赖地狱。

  7. 更新频率高:DB-GPT 活跃开发中,版本更新可能带来 breaking changes,升级前建议查看 GitHub Releases 和 Changelog。


与同类对比

项目 定位 优势 不足
DB-GPT AI 数据助手(自然语言 → 执行) 中文友好、私有化部署成熟、AWEL 工作流 生态比 OpenAI plugins 窄
ChatSQL 自然语言转 SQL 轻量、专注 SQL 生成 非完整 Agent,无法执行分析
DBChat 数据库对话界面 简单易用 功能有限
Vanna.ai SQL 生成+RAG RAG 增强准确性,开源 非完整 Agent 架构
SQLChat ChatUI for DB 开源、可私有部署 偏简单问答,非完整分析流程
MindsHub Cowork 全流程 AI 工作空间 有 Artifacts 发布能力 非专注数据分析
Haystack LLM 编排框架 组件丰富、Pipeline 透明 非开箱即用的数据助手

DB-GPT 的核心差异:专注"自然语言 → 可执行数据分析"这一窄而深的场景,AWEL 工作流 + 沙箱执行 + 多数据源,是目前该方向最完整的开源方案。


一句话推荐结论

如果你需要一个能直接对接业务数据库、用自然语言驱动数据分析、同时支持私有化部署的 AI 助手,DB-GPT 是目前开源生态中完成度最高的选项——特别适合企业构建内部 BI 助手或数据团队的智能化提效工具。


来源

  • GitHub:https://github.com/eosphoros-ai/DB-GPT
  • 官方文档:https://db-gpt.readthedocs.io/(或查 GitHub docs/ 目录)
  • Docker 部署:https://github.com/eosphoros-ai/DB-GPT/blob/main/docker/
  • AWEL 文档:查 GitHub 仓库 awel/ 目录
  • Discord 社区:链接见 GitHub README

不确定处:一键安装脚本 URL (install.sh) 建议在 GitHub README 页面实时核实,因仓库活跃可能导致路径变化。Docker 镜像名和版本以官方 docker-compose.yml 为准。生产环境部署前建议阅读官方部署安全指南,确认最新版本有无已知 CVE。AWEL 语法细节请以仓库内 awel/ 目录下的文档为准。