DB-GPT 快速上手:从克隆仓库到跑通 AI 数据对话的最短路径
【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI + Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT
本文以 DB-GPT 官方“快速开始”文档为主线,给出从环境检查、依赖安装、模型配置到服务启动、Web UI 验证的完整最短路径,并结合仓库中的配置文件与 CLI 源码说明每一步背后的实际行为。读完后,你应当能在 5 分钟内把一个可用的 DB-GPT 对话环境跑起来,并清楚 SMMF、RAG、Agents、AWEL 与数据源五大能力在仓库中的落点。
一、DB-GPT 是什么:一句话定位
DB-GPT 是一个开源框架,用于构建结合LLM、RAG、智能体、AWEL 工作流与数据库集成的 AI Native 数据应用。它把“大模型 + 数据”整合为一个可交互的产品形态:用户在 Web UI 中提问,系统通过智能体运行时调用工具、技能、数据库与知识库,流式返回分析结果。
如果你只想最快跑通,官方给出的结论是:选择一个 API 模型提供方,启动 webserver,然后打开 Web UI。下文按这条最短路径展开。
二、前置条件:先确认环境
快速开始文档的第一步是“检查环境要求”。完整的前置条件见 前置条件,核心要求如下:
| 要求 | 版本 | 检查命令 |
|---|---|---|
| Python | 3.10 或更新(建议 3.11) | python --version |
| uv | 最新版 | uv --version |
| Git | 任意较新版本 | git --version |
几点补充说明(来自 pyproject.toml 与 前置条件):
- 根目录 pyproject.toml 中
requires-python = ">= 3.10",即 Python 3.10 是硬性下限; - 自 v0.7.0 起,DB-GPT 使用uv做环境与依赖管理(当前仓库版本为 0.8.1,见 pyproject.toml 的
version字段),uv sync依赖根目录声明的 uv workspace; - API 代理模式(OpenAI、DeepSeek 等)不需要 GPU,纯 CPU 机器即可运行;本地模型(Ollama、vLLM、HuggingFace)才涉及 GPU/CUDA;
- 只有当你想独立开发 Web 前端时才需要 Node.js 18+ / npm 8+,仅作为后端服务用户可完全忽略;
- 国内网络环境建议配置 PyPI 镜像,例如
export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple,或在uv sync命令后追加--index-url参数。
三、最短路径:5 分钟跑通(继承文档原始步骤)
官方“最快路径”共四步:
- 检查环境要求:前置条件;
- 按 5 分钟上手流程操作:快速开始;
- 选择模型提供方:模型提供方;
- 确认 UI 能在
http://localhost:5670打开。
对应的完整命令如下(以 OpenAI 代理模式为例,这是官方文档给出的原始流程):
# 1. 克隆仓库 git clone https://gitcode.com/GitHub_Trending/db/DB-GPT.git cd DB-GPT # 2. 安装依赖(以 OpenAI 代理模式为例) uv sync --all-packages \ --extra "base" \ --extra "proxy_openai" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts" # 3. 配置 API Key # 编辑 configs/dbgpt-proxy-openai.toml 并设置 api_key # 4. 启动服务 uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml打开浏览器访问http://localhost:5670。如果 UI 能正常打开,并且你可以发起对话,说明基础环境已经可用。
几个uv sync参数值得展开:
--all-packages:安装根工作区(pyproject.toml 中tool.uv.workspace.members列出的packages/dbgpt-app、dbgpt-core、dbgpt-serve、dbgpt-ext、dbgpt-client、dbgpt-sandbox等全部成员);--extra "proxy_openai":启用 OpenAI 兼容 LLM 客户端;换成本地 Ollama 则用--extra "proxy_ollama";--extra "rag":文档解析与检索能力(PDF、DOCX、Markdown 等);--extra "storage_chromadb":ChromaDB 向量存储;--extra "dbgpts":内置技能(skills)相关依赖。
除 OpenAI 外,快速开始还给出了 DeepSeek 与 Ollama 两种提供方的一整套变体:编辑对应的configs/dbgpt-proxy-deepseek.toml或configs/dbgpt-proxy-ollama.toml后,分别执行
uv run dbgpt start webserver --config configs/dbgpt-proxy-deepseek.toml uv run dbgpt start webserver --config configs/dbgpt-proxy-ollama.toml四、配置文件详解:dbgpt-proxy-openai.toml里到底配了什么
第 3 步要求“编辑 configs/dbgpt-proxy-openai.toml 并设置 api_key”。直接看仓库中的真实配置 configs/dbgpt-proxy-openai.toml,它由四部分组成:
[system] language = "${env:DBGPT_LANG:-en}" api_keys = [] encrypt_key = "your_secret_key" # Server Configurations [service.web] host = "0.0.0.0" port = 5670 cors_allowed_origins = "${env:DBGPT_CORS_ALLOWED_ORIGINS:-*}" [service.web.database] type = "sqlite" path = "pilot/meta_data/dbgpt.db" # RAG 向量存储 [rag.storage] [rag.storage.vector] type = "chroma" persist_path = "pilot/data" # Model Configurations [models] [[models.llms]] name = "${env:LLM_MODEL_NAME:-gpt-4o}" provider = "${env:LLM_MODEL_PROVIDER:-proxy/openai}" api_base = "${env:OPENAI_API_BASE:-https://api.openai.com/v1}" api_key = "${env:OPENAI_API_KEY}" [[models.embeddings]] name = "${env:EMBEDDING_MODEL_NAME:-text-embedding-3-small}" provider = "${env:EMBEDDING_MODEL_PROVIDER:-proxy/openai}" api_url = "${env:EMBEDDING_MODEL_API_URL:-https://api.openai.com/v1/embeddings}" api_key = "${env:OPENAI_API_KEY}"逐项说明:
| 配置段 | 关键项 | 作用 |
|---|---|---|
[system] | language、encrypt_key | UI 语言(可由环境变量DBGPT_LANG覆盖,zh/en)与敏感信息加密密钥 |
[service.web] | host、port | Web 服务监听地址,端口 5670 即 Web UI 地址来源;cors_allowed_origins控制跨域白名单 |
[service.web.database] | type = "sqlite"、path | 默认元数据存储为 SQLite,落盘在pilot/meta_data/dbgpt.db——这就是文档中“SQLite 默认可用”的依据 |
[rag.storage.vector] | type = "chroma"、persist_path | RAG 向量库用 ChromaDB,数据目录pilot/data,对应安装时的--extra "storage_chromadb" |
[models] | [[models.llms]]/[[models.embeddings]] | 聊天模型与嵌入模型的定义;所有值都支持${env:VAR:-default}语法,即优先读环境变量,读不到用默认值 |
从这份配置可以看出两个设计要点:
- API Key 不必硬编码进 TOML。
api_key = "${env:OPENAI_API_KEY}"意味着只要export OPENAI_API_KEY=sk-xxx,配置里的占位符就会被自动解析,这与 快速开始 中“OPENAI_API_KEY可作为 TOML 的替代方案”的说法一致; - 模型名同样可覆盖:
LLM_MODEL_NAME、LLM_MODEL_PROVIDER、EMBEDDING_MODEL_NAME等环境变量可以在不改文件的情况下切换模型。
如果你使用 DeepSeek,configs/dbgpt-proxy-deepseek.toml 中 LLM 为deepseek-reasoner(provider = "proxy/deepseek"),嵌入模型默认BAAI/bge-large-zh-v1.5(provider = "hf"),此时安装命令需追加--extra "hf"与--extra "cpu";如果使用 Ollama,则确保 Ollama 已运行,并把 LLM/嵌入都指向http://localhost:11434。
五、dbgpt start webserver在源码里做了什么
启动命令uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml并不是黑盒,可以在仓库源码中验证其行为:
- 命令注册入口在 cli_scripts.py:
start组下通过add_command_alias(start_webserver, name="webserver", parent_group=start)和add_command_alias(start_webserver, name="web", parent_group=start)注册了两个别名。也就是说dbgpt start webserver与dbgpt start web是同一个命令,文档两种写法都成立; - 实际实现位于 _cli.py 中的
start_webserver函数。从源码看,它支持以下选项:
| 选项 | 缩写 | 说明 |
|---|---|---|
--config | -c | TOML 配置文件路径。可省略——省略时会回退到~/.dbgpt/下的活动 profile,或触发首次运行的交互式设置向导 |
--profile | -p | 指定提供方 profile(openai / kimi / qwen / minimax / deepseek / ollama 等),覆盖活动 profile |
--yes | -y | 非交互模式,跳过向导,适合 CI/CD |
--api-key | 提供方 API Key,也可用DBGPT_API_KEY环境变量提供 | |
--daemon | -d | 后台守护进程模式运行,配合dbgpt stop webserver停止 |
- 配置解析优先级(_cli.py 与 CLI 快速入门):
--config显式指定 >--profile查找~/.dbgpt/configs/<profile>.toml> 活动 profile(记录于~/.dbgpt/config.toml)> 自动拉起设置向导。本文教程走的是第一种,因此不存在交互。 - 服务真正承载于
dbgpt-app包(dbgpt_server.py),它是 FastAPI 应用服务器,同时负责 API 路由与静态 UI 资源托管,端口来自 TOML 的[service.web],默认 5670。
六、DB-GPT 包含什么
快速开始文档列出的五大核心能力,与仓库结构一一对应(可结合 架构文档 深入):
- SMMF:模型管理与提供方切换,见 SMMF 模块说明。你配置的
[[models.llms]]就是由它解析分发的; - RAG:文档与知识检索,实现位于
dbgpt-ext(连接器)与dbgpt-core(RAG 抽象),向量存储由 [rag.storage] 配置段指定(本教程为 ChromaDB); - Agents:工具调用、任务规划与多智能体协作。仓库以 ReAct 智能体运行时为核心,关键实现锚点包括
packages/dbgpt-core/src/dbgpt/agent/expand/react_agent.py与packages/dbgpt-core/src/dbgpt/agent/util/react_parser.py(见 架构文档); - AWEL:基于 DAG 的工作流编排,入门可看 AWEL 指南;
- Data sources:面向 SQL 分析、Text2SQL 场景的数据源能力,默认 SQLite 开箱即用,MySQL/PostgreSQL/ClickHouse 等通过对应 extras 扩展(如
datasource_mysql),配置参考 配置参考。
从源码结构看,这些能力分布在 uv workspace 的多个成员包里:dbgpt-core(核心智能体/记忆/规划/RAG/模型抽象)、dbgpt-app(应用服务器与 API)、dbgpt-serve(知识库/数据源/流程等资源服务)、dbgpt-ext(数据库与存储连接器)、dbgpt-client(Python 客户端 SDK)、dbgpt-sandbox(代码与工具的安全沙箱执行),另有web/(Next.js 前端)与skills/(内置技能目录)。
七、另一条最短路径:pip 安装 + 交互式向导
如果你不需要源码,仓库还提供了从 PyPI 直接安装的路线,详见 CLI 快速入门:
# 推荐用 uv,也可 pip install dbgpt-app uv pip install dbgpt-app # 一条命令启动,首次运行进入交互式设置向导 dbgpt start向导会引导你:1)选择 LLM 提供方(OpenAI、Kimi、Qwen、MiniMax、Z.AI 或自定义 OpenAI 兼容端点);2)输入 API Key(或改用环境变量);3)确认模型名与 API base URL。完成后 TOML 配置写入~/.dbgpt/configs/<profile>.toml,服务自动启动,Web UI 仍在http://localhost:5670。日常运维命令包括:
dbgpt profile list # 列出所有 profile(活动者带 *) dbgpt profile switch kimi # 切换活动 profile dbgpt setup --show # 查看当前生效配置 dbgpt stop webserver --port 5670八、启动后如何验证
快速开始给出的验证清单:
- webserver 正在运行(终端日志正常,无报错退出);
- 模型配置加载无错误;
- Web UI 能在
http://localhost:5670打开; - SQLite 作为默认元数据存储可用(首次启动会自动创建
pilot/meta_data/dbgpt.db)。
全部满足后,发起一次对话即可确认端到端链路(UI → dbgpt-app API → 模型提供方)通畅。
常见首次运行问题
| 现象 | 处理 |
|---|---|
uv: command not found | 先安装 uv,见 前置条件 |
| 模型 Key/鉴权错误 | 检查configs/下对应 provider 配置,或改用OPENAI_API_KEY等环境变量 |
| Web UI 打不开 | 确认服务监听 5670 端口,查看启动终端中的服务日志 |
| 本地模型无响应 | 确认 Ollama 等本地推理后端已先于 DB-GPT 启动 |
| 端口被占用 | dbgpt stop webserver --port 5670,或修改 TOML 中[service.web] port |
九、接下来读什么(文档地图)
快速开始文档最后的“接下来读什么”是一张核心文档地图,转换为本仓库内路径后如下,建议按兴趣选读:
核心概念
- 架构:仓库布局与 ReAct 智能体运行时
- AWEL:DAG 工作流入门
- 智能体与 RAG 概念:getting-started 概念目录
安装与部署
- 模型提供方:providers 目录
- 部署(源码 / Docker):deploy 目录
- Docker Compose 编排示例:compose_examples
产品使用
- Web UI 概览:web-ui 目录
- 工具与插件:tools 目录
- 故障排查:troubleshooting 目录
参考资料
- 开发指南(Agents 开发):agents/introduction
- API 参考:API 介绍
- 配置参考:配置参考总览
- FAQ:安装 FAQ
十、小结
DB-GPT 的最短上手路径可以压缩为一句话:装好 Python 3.10+ 与 uv →uv sync按 extras 安装依赖 → 在 TOML 或环境变量里填入模型 API Key →uv run dbgpt start webserver --config <配置>→ 打开http://localhost:5670。其中配置文件决定了端口(5670)、元数据库(SQLite)、向量存储(ChromaDB)与模型提供方四类行为;CLI 的--config / --profile / --daemon选项与首启向导则由 dbgpt-app 的 CLI 实现 支撑。跑通对话只是起点,后续可沿着第九节的文档地图,分别深入模型提供方、Docker 部署、知识库与 AWEL 工作流。
【免费下载链接】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),仅供参考