DB-GPT 代理大模型(Proxy LLM)部署全指南:OpenAI、DeepSeek、Ollama、通义、智谱、文心等配置实战
【免费下载链接】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 的Proxy LLM(代理大模型)部署模式:不依赖本地 GPU 推理服务,通过接入 OpenAI、Azure、DeepSeek、Ollama、通义千问(Tongyi)、智谱 ChatGLM、百度文心(WenXin)等云端或本地 API 服务,即可在低硬件要求服务器上完整运行 DB-GPT 的 Agent、RAG 与 Web 应用。读完本文,你将掌握从uv依赖安装、configs/dbgpt-proxy-*.toml配置编写、dbgpt start webserver启动到 Web 访问的完整链路,并能结合源码理解proxy/<provider>的模型路由机制。
一、什么是 Proxy LLM 部署模式
DB-GPT 的模型接入分为两大类:本地模型部署(Local/Worker 模式,需 GPU 或高性能 CPU)与代理模型部署(Proxy 模式)。当服务器硬件资源有限时,可以选择 Proxy LLM:DB-GPT 不再本地加载模型权重,而是以 HTTP 客户端身份调用第三方推理服务的 API,把请求转发给云端或本机其他进程(如 Ollama)完成生成。
从源码结构看,DB-GPT 的代理模型适配层位于 packages/dbgpt-core/src/dbgpt/model/proxy/ 目录:
- chatgpt.py 定义了
OpenAICompatibleDeployModelParameters(默认provider = "proxy/openai")与OpenAILLMClient,是 OpenAI 兼容协议的基础实现; - zhipu.py、wenxin.py、tongyi.py 等则分别注册了
proxy/zhipu、proxy/wenxin、proxy/tongyi等 provider,多数基于 OpenAI 兼容协议扩展而来。
每个 provider 通过@auto_register_resource注册为可配置资源,配置文件中provider字段(形如proxy/openai)即决定了请求被路由到哪个客户端实现。这也是为什么许多厂商(只要提供 OpenAI 兼容端点)可以复用proxy/openai的原因。
二、安装依赖:基于 uv 的快速同步
官方推荐使用uv包管理器完成依赖安装,以获得更快、更稳定的依赖解析与安装体验。核心命令如下:
uv sync --all-packages \ --extra "base" \ --extra "proxy_openai" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts"--all-packages:同步仓库内所有 Python 包(dbgpt-core、dbgpt-serve、dbgpt-ext等);--extra "base":安装 DB-GPT 基础运行环境;--extra "proxy_openai":安装 OpenAI 兼容协议客户端(OpenAI、Azure、DeepSeek、百度文心等均依赖此 extra);--extra "rag":安装 RAG 检索增强所需依赖;--extra "storage_chromadb":安装默认向量存储 Chroma;--extra "dbgpts":安装 DB-GPT 内置 Skill/Agent 插件(dbgpts)能力。
不同厂商对应不同 extra,安装时按下表替换proxy_*部分:
| 厂商 | extra 名称 | provider 值 |
|---|---|---|
| OpenAI / Azure / DeepSeek / 百度文心 | proxy_openai | proxy/openai、proxy/deepseek、proxy/wenxin |
| Ollama | proxy_ollama | proxy/ollama |
| 通义千问(Tongyi) | proxy_tongyi | proxy/tongyi |
| 智谱 ChatGLM | proxy_zhipuai | proxy/zhipu |
:::info note 若身处中国大陆网络环境,可在uv sync命令末尾追加--index-url=https://pypi.tuna.tsinghua.edu.cn/simple以加速包下载。 :::
三、各厂商的依赖、配置与启动
以下内容继承自原文档,逐一给出每个厂商的完整安装、配置与启动流程,并补充仓库中真实配置文件的增强细节。
3.1 OpenAI
安装依赖:
uv sync --all-packages \ --extra "base" \ --extra "proxy_openai" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts"配置 OpenAI:编辑 configs/dbgpt-proxy-openai.toml,填入 API Key:
# Model Configurations [models] [[models.llms]] name = "gpt-3.5-turbo" provider = "proxy/openai" api_key = "your-openai-api-key" # Optional: To use GPT-4, change the name to "gpt-4" or "gpt-4-turbo" [[models.embeddings]] name = "text-embedding-ada-002" provider = "proxy/openai" api_key = "your-openai-api-key"仓库中的 configs/dbgpt-proxy-openai.toml 采用了环境变量插值写法,效果等价且更安全:
[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}表示优先读取环境变量VAR,未设置时回退到default;${env:OPENAI_API_KEY}不带默认值,则必须通过环境变量注入。这样无需在配置文件中明文保存密钥。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml3.2 Azure OpenAI
安装依赖:与 OpenAI 相同,使用proxy_openaiextra(Azure 端点同样兼容 OpenAI 协议)。
配置 Azure OpenAI:创建或编辑configs/dbgpt-proxy-azure.toml:
# Model Configurations [models] [[models.llms]] name = "gpt-35-turbo" # or your deployment model name provider = "proxy/openai" api_base = "https://your-resource-name.openai.azure.com/" api_key = "your-azure-openai-api-key" api_version = "2023-05-15" # or your specific API version api_type = "azure"关键点:Azure 场景下provider仍为proxy/openai,通过api_type = "azure"和api_version切换为 Azure 的认证与请求协议;name需对应你在 Azure 中实际创建的deployment 名称。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-azure.toml3.3 DeepSeek
安装依赖:使用proxy_openaiextra。
配置 DeepSeek:编辑 configs/dbgpt-proxy-deepseek.toml:
# Model Configurations [models] [[models.llms]] # name = "deepseek-chat" name = "deepseek-reasoner" provider = "proxy/deepseek" api_key = "your-deepseek-api-key"仓库中该文件还给出了额外细节:provider = "proxy/deepseek"对应 packages/dbgpt-core/src/dbgpt/model/proxy/llms/deepseek.py 等适配实现;同时支持thinking_enabled = false之类的模型级开关。deepseek-chat与deepseek-reasoner分别对应通用对话与推理(Reasoner)模型,可按需切换。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-deepseek.toml3.4 Ollama(本地代理)
Ollama 允许把模型跑在本机或内网另一台机器上,DB-GPT 通过 HTTP 访问其 API,硬件要求由 Ollama 所在机器承担,适合离线/私有化场景。
安装依赖:注意此处换用proxy_ollamaextra:
uv sync --all-packages \ --extra "base" \ --extra "proxy_ollama" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts"配置 Ollama:编辑 configs/dbgpt-proxy-ollama.toml:
# Model Configurations [models] [[models.llms]] name = "llama3" # or any other model available in your Ollama instance provider = "proxy/ollama" api_base = "http://localhost:11434" # your-ollama-api-base [[models.embeddings]] name = "nomic-embed-text" # or any other embedding model in Ollama provider = "proxy/ollama" api_base = "http://localhost:11434" # your-ollama-api-base仓库示例文件默认使用name = "deepseek-r1:1.5b"(LLM)与name = "bge-m3:latest"(Embedding),api_key留空即可,Ollama 默认不要求认证。注意:Embedding 字段使用的是api_url(见 configs/dbgpt-proxy-ollama.toml 第 32 行),指向 Ollama 的 Embedding 接口地址。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-ollama.toml3.5 Qwen(通义千问 / Tongyi)
安装依赖:使用proxy_tongyiextra:
uv sync --all-packages \ --extra "base" \ --extra "proxy_tongyi" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts"配置 Qwen:创建或编辑 configs/dbgpt-proxy-tongyi.toml:
# Model Configurations [models] [[models.llms]] name = "qwen-turbo" # or qwen-max, qwen-plus provider = "proxy/tongyi" api_key = "your-tongyi-api-key"仓库中该文件默认使用qwen-plus,并给出 OpenAI 兼容端点:api_base = "https://dashscope.aliyuncs.com/compatible-mode/v1",API Key 通过api_key = "${env:DASHSCOPE_API_KEY}"从环境变量读取。Embedding 模型默认为text-embedding-v3。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-tongyi.toml3.6 ChatGLM(智谱 Zhipu)
安装依赖:使用proxy_zhipuaiextra:
uv sync --all-packages \ --extra "base" \ --extra "proxy_zhipuai" \ --extra "rag" \ --extra "storage_chromadb" \ --extra "dbgpts"配置 ChatGLM:创建或编辑configs/dbgpt-proxy-zhipu.toml:
# Model Configurations [models] [[models.llms]] name = "glm-4" # or other available model versions provider = "proxy/zhipu" api_key = "your-zhipu-api-key"源码层面,zhipu.py 中的ZhipuDeployModelParameters默认模型为glm-4.5,并定义了默认端点api_base = "${env:ZHIPUAI_BASE_URL:-https://open.bigmodel.cn/api/paas/v4}"、api_key = "${env:ZHIPUAI_API_KEY}",也就是说即使不显式填写,DB-GPT 也会从环境变量ZHIPUAI_API_KEY自动读取密钥。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-zhipu.toml3.7 百度文心(WenXin / Ernie)
安装依赖:使用proxy_openaiextra(与 OpenAI 相同)。
配置 WenXin:创建或编辑configs/dbgpt-proxy-wenxin.toml:
# Model Configurations [models] [[models.llms]] name = "ERNIE-Bot-4.0" # or ernie-bot, ernie-bot-turbo provider = "proxy/wenxin" api_key = "your-wenxin-api-key" api_secret = "your-wenxin-api-secret"注意文心需要同时提供api_key与api_secret(对应百度智能云千帆平台的鉴权信息)。源码 wenxin.py 中还维护了MODEL_VERSION_MAPPING映射表,例如ERNIE-Bot-4.0 → completions_pro、ERNIE-Bot-turbo → eb-instant,用于把模型名翻译为千帆平台内部端点。
启动 Web 服务:
uv run dbgpt start webserver --config configs/dbgpt-proxy-wenxin.toml四、配置文件通用结构说明
虽然各家configs/dbgpt-proxy-*.toml的[models]段落各不相同,但完整配置文件都包含如下通用区块(以 configs/dbgpt-proxy-openai.toml 为例):
[system] language = "${env:DBGPT_LANG:-en}" api_keys = [] encrypt_key = "your_secret_key" [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.storage] [rag.storage.vector] type = "chroma" persist_path = "pilot/data"| 配置块 | 关键字段 | 作用与默认值 |
|---|---|---|
[system] | language | 界面语言,可用环境变量DBGPT_LANG覆盖,默认en |
[system] | api_keys | DB-GPT 自身的 API 访问密钥列表,为空则不做额外鉴权 |
[service.web] | host/port | Web 服务监听地址与端口,默认0.0.0.0:5670 |
[service.web.database] | type/path | 元数据库,默认 SQLite,路径pilot/meta_data/dbgpt.db |
[rag.storage.vector] | type/persist_path | 向量存储,默认 Chroma,持久化目录pilot/data |
[models] | [[models.llms]] | 主对话模型配置(name / provider / api_key 等) |
[models] | [[models.embeddings]] | Embedding 模型配置(RAG 向量化依赖) |
[models] | [[models.rerankers]] | 可选重排模型配置,用于 RAG 精排阶段 |
[[models.llms]]与[[models.embeddings]]是 TOML 的数组表语法,可重复书写多组以注册多个模型,Web UI 中即可切换使用。
五、启动 Web 服务并访问
所有厂商统一通过以下命令启动:
uv run dbgpt start webserver --config configs/dbgpt-proxy-xxx.toml--config指定你要使用的代理模型配置文件。启动成功后,打开浏览器访问:
http://localhost:5670Web 界面即可用于发起对话、执行 Agent 任务、上传知识库文档进行 RAG 检索等。若需局域网其他机器访问,保持[service.web]的host = "0.0.0.0"并确保防火墙放行 5670 端口即可。
六、进阶:环境变量插值与更多提供商
6.1 环境变量插值机制
DB-GPT 的 TOML 配置支持${env:VAR:-default}插值语法。源码层面,packages/dbgpt-core/src/dbgpt/cli/_profiles.py 中定义了一套ProfileSpec数据结构,其注释明确说明:默认 profile 生成的 TOML 会镜像configs/dbgpt-proxy-openai.toml,允许通过环境变量在运行时覆盖模型、provider、API 端点而无需重跑配置向导。
例如,同时托管多套环境时可以这样使用:
export OPENAI_API_KEY="sk-xxx" export LLM_MODEL_NAME="gpt-4o" uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml这样密钥不落盘、模型可随时切换,是生产部署的推荐做法。
6.2 仓库内更多现成代理配置
除文档讲解的 7 家厂商外,仓库configs/目录还预置了多份代理模型配置,可参照本文思路直接使用:
- configs/dbgpt-proxy-siliconflow.toml:硅基流动(SiliconFlow),默认模型
Qwen/Qwen2.5-Coder-32B-Instruct,同时配置了[[models.rerankers]](BAAI/bge-reranker-v2-m3); - configs/dbgpt-proxy-litellm.toml:以 Python SDK 方式内嵌 LiteLLM 网关,统一路由 Anthropic、Bedrock、Groq、Azure 等上百家服务商,模型名带厂商前缀(如
anthropic/claude-3-5-sonnet-20241022); - configs/dbgpt-proxy-aimlapi.toml、configs/dbgpt-proxy-burncloud.toml、configs/dbgpt-proxy-infiniai.toml、configs/dbgpt-proxy-orcarouter.toml 等,覆盖更多聚合平台与国内服务商。
七、常见问题与注意事项
- 依赖 extra 必须与厂商匹配:如使用 Ollama 却只装了
proxy_openai,会因缺少httpx等适配依赖导致启动失败;严格按上文每个厂商对应的 extra 安装。 - Embedding 模型不要漏配:RAG 知识库功能依赖
[[models.embeddings]],只配置 LLM 会导致知识库上传/检索不可用;离线场景可选用 Hugging Face 本地 Embedding(provider = "hf",参见 configs/dbgpt-proxy-deepseek.toml 中的BAAI/bge-large-zh-v1.5写法)。 - API Key 安全:优先通过
${env:VAR}引用环境变量,避免把密钥明文提交到版本库;配置文件中的encrypt_key建议同步修改为自定义值。 - Azure/文心等特殊鉴权:Azure 需
api_type = "azure"+api_version;文心需api_key+api_secret双凭证,缺一不可。 - 中国大陆网络:
uv sync追加清华 PyPI 镜像可显著加速依赖下载。
八、总结
Proxy LLM 模式让 DB-GPT 可以在无 GPU 的低配服务器上快速落地:通过uv安装对应 extra → 编写configs/dbgpt-proxy-*.toml→dbgpt start webserver三步即可接入主流国内外大模型服务。其底层由 packages/dbgpt-core/src/dbgpt/model/proxy/ 的适配层统一抽象,provider字段决定路由到 OpenAI 兼容客户端还是各家专用实现。理解这份机制后,无论是新增服务商还是切换模型,都只需改动配置即可完成。
【免费下载链接】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),仅供参考