DB-GPT Proxy LLM 部署实战:uv 依赖管理、TOML 模型配置与 Web 服务启动全解析

发布时间:2026/9/14 7:08:03
DB-GPT Proxy LLM 部署实战:uv 依赖管理、TOML 模型配置与 Web 服务启动全解析 DB-GPT Proxy LLM 部署实战uv 依赖管理、TOML 模型配置与 Web 服务启动全解析【免费下载链接】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 LLMs”章节为核心系统讲解如何在低硬件要求的服务器上通过代理云端大模型OpenAI、Azure、DeepSeek、Ollama、通义千问、ChatGLM、文心一言部署 DB-GPT 完整 Web 应用。读完后你将掌握基于uv的依赖安装方法、TOML 配置文件中各模型参数的含义、各 Provider 的配置差异并能从源码层面理解proxy/*这一 provider 标识是如何被路由到具体客户端实现的。一、为什么使用 Proxy LLMDB-GPT 可以通过 Proxy LLM代理大模型部署在硬件要求更低的服务器上DB-GPT 本身不加载任何本地推理引擎而是将推理请求转发给外部 API 服务。官方文档明确列出支持的代理模型包括 OpenAI、Azure、DeepSeek、Ollama 等并且从源码结构看实际的 Provider 覆盖面远超文档列表——packages/dbgpt-core/src/dbgpt/model/proxy/llms/目录下实现了 openaichatgpt.py、deepseek、ollama、tongyi、zhipu、wenxin、claude、gemini、litellm、siliconflow 等二十余种代理客户端每种实现对应一个固定的provider字符串标识。这种架构带来的直接好处服务器无 GPU 要求推理算力全部由云端 API 或 Ollama 等外部推理服务承担模型可热替换只需修改 TOML 中的name与provider两个字段即可切换模型配置与环境变量解耦仓库内真实配置文件普遍采用${env:...}语法注入密钥避免把 API Key 硬编码进配置文件。二、基于 uv 的安装与依赖管理官方要求使用uv包管理器安装依赖以获得更快、更稳定的依赖管理体验。不同 Provider 对应不同的可选依赖组extra其定义位于 dbgpt-core 的 pyproject.toml 中例如proxy_openai [ openai1.59.6, tiktoken0.8.0, httpx[socks], ] proxy_ollama [ollama] proxy_zhipuai [openai1.59.6] proxy_tongyi [ openai, # tongyi supported by openai package dashscope, # For tongyi proxy embedding model ]可以看到各 Provider 的依赖策略OpenAI 代理依赖openaiSDK 与tiktoken用于分词计数通义千问Tongyi复用openai包并额外引入dashscope以支持其向量化模型智谱Zhipu走 OpenAI 兼容接口因此同样依赖openaiSDK。各 Provider 对应的安装命令如下以 OpenAI 为例其余 Provider 仅--extra名称不同# Use uv to install dependencies needed for OpenAI proxy uv sync --all-packages \ --extra base \ --extra proxy_openai \ --extra rag \ --extra storage_chromadb \ --extra dbgpts其中各 extra 的作用extra作用baseDB-GPT 基础运行依赖proxy_openai/proxy_ollama/proxy_tongyi/proxy_zhipuai对应 Provider 的客户端 SDK必须与所用 provider 匹配ragRAG知识问答功能依赖storage_chromadbChromaDB 向量存储支撑知识库向量检索dbgptsDB-GPTs 技能框架各 Provider 安装命令中唯一需要改动的位置如下# OpenAI / Azure / DeepSeek / 文心WenXin共用 openai 兼容依赖 --extra proxy_openai # Ollama 使用专用 SDK --extra proxy_ollama # 通义千问阿里云 Tongyi --extra proxy_tongyi # 智谱 ChatGLM --extra proxy_zhipuai官方文档同时提示如果位于中国大陆区域可在uv sync命令末尾追加--index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple以加速包下载。三、配置文件结构与 Provider 配置详解仓库configs/目录下提供了各 Provider 的示例配置文件例如 dbgpt-proxy-openai.toml、dbgpt-proxy-ollama.toml、dbgpt-proxy-deepseek.toml。无论哪个 Provider完整配置都遵循相同骨架[system]系统段、[service.web]服务段、[service.web.database]元数据库段、[rag.storage]向量存储段以及最关键的[models]模型段。以下按官方文档逐一展开各 Provider 的模型段配置。3.1 OpenAI# 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仓库中的实际示例文件 dbgpt-proxy-openai.toml 展示了更工程化的写法——通过环境变量注入敏感信息并为未设置环境变量提供默认值[[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未设置时回落到:-后的默认值。这一模式适用于所有 Provider 配置是生产部署中避免密钥泄露进代码仓库的标准做法。3.2 Azure OpenAIAzure OpenAI 复用 OpenAI 的 provider 标识通过api_type azure与api_base、api_version三个参数区分部署形态[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注意此处name填写的是 Azure 上的**部署名称deployment name**而非通用模型名api_version需与你 Azure 资源开通的 API 版本一致。3.3 DeepSeek[models] [[models.llms]] # name deepseek-chat name deepseek-reasoner provider proxy/deepseek api_key your-deepseek-api-keyDeepSeek 使用独立的proxy/deepseekprovider对应实现见 deepseek.py而非 openai 兼容通道。仓库示例 dbgpt-proxy-deepseek.toml 中还可看到针对思考型模型的精细控制参数[[models.llms]] name deepseek-v4-pro provider proxy/deepseek # Disable V4-Pro thinking mode so ReAct responses stay parseable. thinking_enabled false api_key your_deepseek_api_keythinking_enabled false用于关闭思考模式的输出保证 ReAct 智能体能够正确解析模型响应——这是一个文档未提及、但实际部署推理模型时非常关键的细节。3.4 Ollama本地模型代理Ollama 允许把本地部署的模型作为 Proxy LLM 接入同样不需要 DB-GPT 服务器有 GPU[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仓库示例 dbgpt-proxy-ollama.toml 中则展示了小参数量模型搭配中文向量化模型的组合[[models.llms]] name deepseek-r1:1.5b provider proxy/ollama api_base http://localhost:11434 [[models.embeddings]] name bge-m3:latest provider proxy/ollama api_url http://localhost:114343.5 通义千问阿里云 Qwen / Tongyi[models] [[models.llms]] name qwen-turbo # or qwen-max, qwen-plus provider proxy/tongyi api_key your-tongyi-api-key仓库内已提供可直接参考的示例文件 dbgpt-proxy-tongyi.toml。3.6 智谱 ChatGLM[models] [[models.llms]] name glm-4 # or other available model versions provider proxy/zhipu api_key your-zhipu-api-key对应实现位于 zhipu.py其 provider 标识为proxy/zhipu该标识同样被 CLI profile 机制复用见 cli/_profiles.py 中llm_providerproxy/zhipu的定义。3.7 文心一言百度 WenXin / Ernie[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_keyapi_secret双凭证的 Provider对应实现见 wenxin.py。其依赖仍走proxy_openaiextra 安装文档中明确 WenXin 与 OpenAI 共用该依赖组。四、启动 Web 服务与访问验证完成配置后统一通过dbgptCLI 启动 Web 服务--config指向对应 Provider 的 TOML 文件# OpenAI uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml # Azure uv run dbgpt start webserver --config configs/dbgpt-proxy-azure.toml # DeepSeek uv run dbgpt start webserver --config configs/dbgpt-proxy-deepseek.toml # Ollama uv run dbgpt start webserver --config configs/dbgpt-proxy-ollama.toml # 通义千问 / 智谱 / 文心 uv run dbgpt start webserver --config configs/dbgpt-proxy-tongyi.toml uv run dbgpt start webserver --config configs/dbgpt-proxy-zhipu.toml uv run dbgpt start webserver --config configs/dbgpt-proxy-wenxin.toml服务启动后打开浏览器访问http://localhost:5670即可进入 DB-GPT 控制台。端口 5670 来自配置文件中的[service.web]段port 5670所有 Provider 示例配置均一致监听地址默认为0.0.0.0如需跨机器访问无需修改但建议同时收紧cors_allowed_origins在 dbgpt-proxy-openai.toml 中默认取环境值回退为*。五、源码纵深proxy/*provider 是如何被解析的配置文件中provider proxy/openai这类字符串并不是随意约定。从源码结构看其解析链路如下Provider 标识注册每个代理客户端在自己的模型参数类中声明固定的provider字段例如 chatgpt.py 中provider: str proxy/openai、deepseek.py 中provider: str proxy/deepseek。packages/dbgpt-core/src/dbgpt/model/proxy/llms/目录共包含 20 余个此类实现openai、azure 形态的 openai 兼容、deepseek、ollama、tongyi、zhipu、wenxin、claude、gemini、litellm 等模型注册机制按前缀proxy/将请求路由到代理实现层。统一抽象基类proxy_model.py 中的ProxyModel是所有代理模型的公共封装——它持有LLMDeployModelParameters参数对象、内置ProxyTokenizerWrapper用于代理场景下的 token 计数并委托ProxyLLMClient定义于dbgpt/model/proxy/base.py执行实际的 API 调用。参数来源provider参数的语义在 model/base.py 中有明确注释The provider of the model. eg. hf, vllm, llama.cpp, proxy/openai即与本地推理hf、vllm、llama.cpp平行的第三类模型部署形态。这条链路解释了文档中改 TOML 即可换模型的底气配置解析器读到proxy/xxx前缀后实例化对应客户端name、api_key、api_base等字段作为LLMDeployModelParameters透传全程无需改动代码。六、实操要点小结extra 与 provider 必须匹配proxy_ollama装的是ollamaSDK若配成provider proxy/openai却只装了proxy_ollamaextra客户端类导入会失败反之亦然。密钥不要写死在 TOML优先采用${env:OPENAI_API_KEY}环境变量语法参考 dbgpt-proxy-openai.toml 的写法。向量化模型同样必须配置[[models.embeddings]]缺失会导致知识库/RAG 功能不可用Ollama 场景可用bge-m3、nomic-embed-text等本地向量模型OpenAI 场景可用text-embedding-3-small系列。推理模型注意输出格式DeepSeek 等带思考模式的模型建议显式设置thinking_enabled false保证智能体ReAct流程中响应可解析。国内网络uv sync末尾追加清华镜像源参数加速下载。扩展阅读configs/目录还提供了 litellm、siliconflow、aimlapi、burncloud 等更多代理通道配置如 dbgpt-proxy-litellm.toml以及 CLI profile 机制 支持以预设 profile 快速生成 proxy 配置适合在本文手工配置之外进一步简化部署。【免费下载链接】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),仅供参考