尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

DB-GPT 源码部署实战:从 uv 环境搭建到代理/本地模型 Webserver 启动

发布时间:2026/9/14 11:15:57

资讯中心
01
ARTICLE

DB-GPT 源码部署实战:从 uv 环境搭建到代理/本地模型 Webserver 启动

DB-GPT 源码部署实战:从 uv 环境搭建到代理/本地模型 Webserver 启动
DB-GPT 源码部署实战从 uv 环境搭建到代理/本地模型 Webserver 启动【免费下载链接】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 官方文档《源码部署》整理覆盖从源码下载、uv 依赖管理、三类模型配置OpenAI 代理 / DeepSeek 代理 / 本地 GLM4到 Webserver 启动、Web 前端独立运行、应用数据库与测试数据初始化的完整流程。读完本文你可以从零开始在本机以源码方式部署一套可运行的 DB-GPT并能结合仓库源码理解uv run dbgpt start webserver --config ...背后的配置解析、迁移与模型加载链路。一、环境要求与启动模式选择部署前需要先明确启动模式它直接决定了硬件需求与后续依赖安装的组合启动模式CPU * 内存GPU说明代理模型4C * 8G无代理模式不依赖 GPU本地模型8C * 32G24G建议本地使用 24G 及以上显存的 GPU代理模式将推理请求转发给 OpenAI、DeepSeek 等 API 服务本机只需满足 Web 服务的资源开销本地模式则需要在 GPU 上加载 LLM 与 Embedding 模型显存不足时不建议尝试。从源码结构看仓库根目录的 pyproject.toml 声明了requires-python 3.10并采用tool.uv.workspace组织多包工作区成员包括packages/dbgpt-app、packages/dbgpt-core、packages/dbgpt-ext、packages/dbgpt-serve、packages/dbgpt-client、packages/dbgpt-sandbox与各加速包。因此源码部署必须依赖 uv 完成跨包依赖解析这也是官方安装路径统一围绕uv sync的原因。二、环境准备下载源码与安装 uv1. 下载源码git clone https://github.com/eosphoros-ai/DB-GPT.git2. 安装 uvuv 有多种安装方式常用的有两种方式一安装脚本macOS / Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh方式二通过 pipx 安装任意平台python -m pip install --upgrade pip python -m pip install --upgrade pipx python -m pipx ensurepath pipx install uv --global更多安装方式请参考 uv 官方安装文档。安装完成后通过uv --version检查是否安装成功uv --version三、按模型模式安装依赖DB-GPT 使用 uv 的--extra可选依赖机制来区分不同部署形态。依赖组在各工作区包的pyproject.toml中以optional-dependencies定义例如 packages/dbgpt-app/pyproject.toml 中定义了base聚合 core 包的client,cli,agent,simple_framework,framework,code等依赖组与dbgpts构建 dbgpts 应用所需的build、poetrypackages/dbgpt-core/pyproject.toml 中定义了hftransformers4.46.0、sentencepiece、sentence-transformers、proxy_*系列等各供应商代理依赖组。uv sync --all-packages --extra ...会一次性安装工作区内所有包及其指定的额外依赖组实现按需装配。以下给出三种典型模式的依赖安装命令三者的--all-packages语义一致--extra参数可叠加最终解析出的依赖集合是各组的并集。1. OpenAI代理模式# 使用 uv 安装 OpenAI 代理模式所需依赖 uv sync --all-packages \ --extra base \ --extra proxy_openai \ --extra rag \ --extra storage_chromadb \ --extra dbgptsbaseWebserver 运行所需的核心依赖组proxy_openaiOpenAI 兼容 API 客户端依赖代理模式必选rag知识库检索增强能力storage_chromadbChroma 向量存储对应示例配置中[rag.storage.vector] type chromadbgpts构建 GPTs 应用所需的构建工具链。2. DeepSeek代理模式# 使用 uv 安装 DeepSeek 代理模式所需依赖 uv sync --all-packages \ --extra base \ --extra proxy_openai \ --extra rag \ --extra storage_chromadb \ --extra dbgptsDeepSeek 与 OpenAI 共用 OpenAI 兼容协议因此同样安装proxy_openai依赖组差异体现在配置文件的provider字段proxy/deepseek。3. GLM4本地模型模式# 使用 uv 安装 GLM4 所需依赖 # 安装核心依赖并按需选择扩展 uv sync --all-packages \ --extra base \ --extra cuda121 \ --extra hf \ --extra rag \ --extra storage_chromadb \ --extra quant_bnb \ --extra dbgpts本地模式比代理模式多出三组关键依赖cuda121CUDA 运行环境此处以 CUDA 12.1 为例可按实际驱动选择对应版本组hfHugging Face 模型加载栈transformerssentence-transformers是provider hf的底层支撑quant_bnbbnb 量化用于降低本地大模型的显存占用。四、启动 Webserver三种模式的配置与命令启动 Webserver 的命令统一为uv run dbgpt start webserver --config 配置文件--config用于指定 TOML 配置文件。也可以绕过 CLI 直接调用入口脚本uv run python packages/dbgpt-app/src/dbgpt_app/dbgpt_server.py --config 配置文件从源码看dbgpt_server.py 中parse_args定义了-c/--config参数load_config负责把相对路径解析为相对仓库根目录的路径、通过ConfigurationManager.from_file解析 TOML、执行set_default_language设置默认语言并调用scan_configs注册全部模型 provider、存储与连接器配置随后run_webserver完成组件初始化、数据库迁移_migration_db_storage与 uvicorn 启动。dbgpt start webserver命令由 cli_scripts.py 注册web与webserver互为别名且有 test_cli_scripts.py 中的回归测试保证dbgpt start webserver --help可用。1. OpenAI 代理模式如果要通过 OpenAI 代理运行 DB-GPT需要在 configs/dbgpt-proxy-openai.toml 配置文件中填入 OpenAI API Key或者通过环境变量OPENAI_API_KEY提供。仓库内该文件默认采用环境变量插值写法# 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}即${env:VAR:-default}语法优先读取环境变量、否则回退默认值。若不想使用环境变量也可以直接写成[[models.llms]] ... api_key your-openai-api-key [[models.embeddings]] ... api_key your-openai-api-key然后启动uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml2. DeepSeek 代理模式如果要通过 DeepSeek 代理运行需要修改 configs/dbgpt-proxy-deepseek.toml 配置 DeepSeek API Key# Model Configurations [models] [[models.llms]] # name deepseek-chat name deepseek-reasoner provider proxy/deepseek api_key your-deepseek-api-key [[models.embeddings]] name BAAI/bge-large-zh-v1.5 provider hf # If not provided, the model will be downloaded from the Hugging Face model hub # uncomment the following line to specify the model path in the local file system # path the-model-path-in-the-local-file-system path /data/models/bge-large-zh-v1.5你可以在该文件中指定 embedding 模型。默认 embedding 模型是BAAI/bge-large-zh-v1.5。如果想使用其他 embedding 模型可以修改[[models.embeddings]]部分中的name和provider其中provider可以设为hf未提供path时模型会从 Hugging Face 模型仓库自动下载提供path则从本地文件系统加载。仓库内该文件还额外开启了thinking_enabled false注释说明关闭推理模型的思考模式保证 ReAct 解析结果可解析实际配置以仓库文件为准。然后执行uv run dbgpt start webserver --config configs/dbgpt-proxy-deepseek.toml等价入口脚本方式uv run python packages/dbgpt-app/src/dbgpt_app/dbgpt_server.py --config configs/dbgpt-proxy-deepseek.toml3. GLM4 本地模型模式如果要通过本地模型运行 DB-GPT修改 configs/dbgpt-local-glm.toml 来指定模型路径和其他参数# Model Configurations [models] [[models.llms]] name THUDM/glm-4-9b-chat-hf provider hf # If not provided, the model will be downloaded from the Hugging Face model hub # uncomment the following line to specify the model path in the local file system # path the-model-path-in-the-local-file-system [[models.embeddings]] name BAAI/bge-large-zh-v1.5 provider hf # If not provided, the model will be downloaded from the Hugging Face model hub # uncomment the following line to specify the model path in the local file system # path the-model-path-in-the-local-file-system在上述配置中[[models.llms]]表示 LLM 模型[[models.embeddings]]表示 embedding 模型。如果不提供path参数系统会根据name从 Hugging Face 模型仓库下载模型仓库内该文件的默认写法是显式指定本地路径models/THUDM/glm-4-9b-chat-hf与models/BAAI/bge-large-zh-v1.5便于离线部署。启动命令uv run dbgpt start webserver --config configs/dbgpt-local-glm.toml从源码结构看非 light 模式下dbgpt_server.py的initialize_app会以Model Unified Deployment Mode在同一进程中拉起模型服务ModelServeinitialize_worker_manager_in_client因此本地模型模式启动时间受模型加载影响显著而代理模式下这一步开销很小。五、访问网站打开浏览器访问http://localhost:5670。端口来自 TOML 配置中的[service.web] port 5670见任一示例配置文件uvicorn.run会按该值绑定。可选单独运行 Web 前端如果希望前后端分离开发也可以单独运行 Web 前端cd web npm install cp .env.template .env # Set API_BASE_URL to your DB-GPT server address, usually http://localhost:5670 npm run dev打开浏览器访问http://localhost:3000。模板文件位于 web/.env.template需要把其中的API_BASE_URL指向你的 DB-GPT 服务端地址通常就是http://localhost:5670。六、安装 DB-GPT 应用数据库DB-GPT 自身需要一个应用数据库来存储用户、会话、数据源连接配置等元数据通过 TOML 中的[service.web.database]段配置支持 SQLite 与 MySQL 两种后端。1. SQLite默认推荐本地体验提示在 SQLite 下你不需要手动创建 DB-GPT 应用相关的数据表默认会自动创建。修改 toml 配置文件以使用 SQLite 作为数据库这也是默认设置[service.web.database] type sqlite path pilot/meta_data/dbgpt.db所有configs/dbgpt-*.toml示例默认即为该配置。从源码看dbgpt_server.py启动流程中调用_migration_db_storage基于 pilot/meta_data/alembic.ini 所描述的 Alembic 迁移链自动建表/升级表结构——这就是 SQLite 无需手工建表的底层机制。2. MySQL警告从 0.4.7 版本之后出于安全考虑DB-GPT 移除了 MySQL Schema 的自动创建功能需要手动初始化数据库与表。第一步执行仓库内置的 MySQL 脚本 assets/schema/dbgpt.sql 创建数据库和表$ mysql -h127.0.0.1 -uroot -p{your_password} ./assets/schema/dbgpt.sql第二步修改 toml 配置文件以使用 MySQL[service.web.database] type mysql host 127.0.0.1 port 3306 user root database dbgpt password aa123456请将host、port、user、database和password替换为你自己的 MySQL 配置。七、加载测试数据可选DB-GPT 默认内置了一部分测试数据如Walmart_Sales演示库可以通过以下命令将其加载到本地数据库中进行测试Linuxbash ./scripts/examples/load_examples.shWindows.\scripts\examples\load_examples.bat从源码看即便不手动加载dbgpt_server.py启动时也会尝试注册名为Walmart_Sales的默认 SQLite 数据源依次探测pilot/examples/Walmart_Sales.db等路径以便开箱即用地体验问数功能load_examples脚本则提供更完整的演示数据集便于在 Web 界面中验证数据问答与图表生成。八、小结一次完整部署的命令序列以 OpenAI 代理模式为例把全文串起来就是一次可复制的部署流程# 1. 获取源码 git clone https://github.com/eosphoros-ai/DB-GPT.git cd DB-GPT # 2. 安装 uv已安装可跳过 curl -LsSf https://astral.sh/uv/install.sh | sh uv --version # 3. 安装代理模式依赖 uv sync --all-packages \ --extra base \ --extra proxy_openai \ --extra rag \ --extra storage_chromadb \ --extra dbgpts # 4. 配置 API Keyconfigs/dbgpt-proxy-openai.toml 或环境变量 OPENAI_API_KEY # 5. 启动 Webserver uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml随后访问http://localhost:5670即可。切换 DeepSeek 或本地 GLM4 模式时只需替换第 3 步的--extra组合与第 5 步的配置文件路径应用数据库默认使用 SQLite 自动建表需要 MySQL 时先执行assets/schema/dbgpt.sql再修改[service.web.database]如需完整演示数据运行scripts/examples/load_examples.sh。整个部署过程的所有路径——配置文件、入口脚本、CLI 命令与测试数据脚本——均可在当前仓库中直接查证便于对照排查启动过程中的配置问题。【免费下载链接】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),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。