DB-GPT 怎么用 dbgpt profile 命令管理并切换多个 LLM 服务商配置
【免费下载链接】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 通过 CLI 的dbgpt profile命令管理多份 LLM 服务商配置。每个 profile 对应~/.dbgpt/configs/目录下的一个 TOML 文件,里面记录服务商的 API key、模型名和 API 地址。当你同时有 OpenAI、Kimi(Moonshot)、Qwen 等多家服务商的 key 时,可以为每家各建一个 profile,用一条switch命令切换默认服务商,而不必每次手动改配置文件。
完成本文后,你可以:创建多个服务商 profile、查看某份配置的内容、切换默认 profile,并用指定 profile 启动 Web 服务。
前提条件
dbgpt profile属于dbgpt命令行的一部分。先安装 DB-GPT(要求 Python 3.10 或更高版本,包管理器推荐 uv,pip 也可以):
# 推荐:使用 uv uv pip install dbgpt-app # 或者用 pip pip install dbgpt-app安装完成后,终端中会出现dbgpt命令。如果下载慢,可以加 PyPI 镜像源,例如uv pip install dbgpt-app --index-url https://pypi.tuna.tsinghua.edu.cn/simple,这是可选的,不影响 profile 功能本身。
默认安装已包含 OpenAI 兼容接口(可用于 Kimi、Qwen、MiniMax、Z.AI)和 DashScope/通义的支持,不需要额外加 extras。
理解 profile 的存储位置
首次运行后,DB-GPT 会在用户主目录下创建如下结构(见 cli-quickstart):
~/.dbgpt/ ├── config.toml # 记录当前 active profile 名称 ├── configs/ │ ├── openai.toml # Profile: OpenAI │ ├── kimi.toml # Profile: Kimi │ └── ... # 每个 profile 一个文件 └── workspace/ └── pilot/ # 运行时工作区(数据库、数据文件等)也就是说:configs/下每个 TOML 文件就是一个 profile,config.toml里记录哪一个 profile 是当前默认。启动时配置的解析顺序是:
--config参数指定的文件;--profile参数指定的 profile(查找~/.dbgpt/configs/<profile>.toml);- 当前 active profile(读自
~/.dbgpt/config.toml); - 如果以上都没有,启动交互式配置向导。
理解这条顺序,就能解释"为什么dbgpt start有时用 A 服务商、有时用 B 服务商"——它取决于 active profile 和启动参数。
创建一个服务商 profile
dbgpt profile create <name>会启动配置向导(与dbgpt setup相同的交互流程),向导依次询问:选择服务商、输入 API key、确认模型名和 API base URL。
dbgpt profile create qwen向导和--profile参数支持的内置服务商如下:
| Profile 名称 | 显示名称 | LLM 模型 | Embedding 模型 | API Key 环境变量 |
|---|---|---|---|---|
openai | OpenAI | gpt-4o | text-embedding-3-small | OPENAI_API_KEY |
kimi | Kimi | kimi-k2 | text-embedding-v3 | MOONSHOT_API_KEY(embedding 另需DASHSCOPE_API_KEY) |
qwen | Qwen | qwen-plus | text-embedding-v3 | DASHSCOPE_API_KEY |
minimax | MiniMax | abab6.5s-chat | embo-01 | MINIMAX_API_KEY |
glm | Z.AI | glm-4-plus | embedding-3 | ZHIPUAI_API_KEY |
custom | Custom | gpt-4o | text-embedding-3-small | OPENAI_API_KEY |
两点说明:
kimiprofile 的 LLM key 和 embedding key 来自两个不同的环境变量,向导会分别询问(见 _wizard.py 的说明)。customprofile 用于连接任意 OpenAI 兼容接口(文档示例:Azure OpenAI、本地 vLLM),向导会要求输入 API base URL(如http://localhost:8000/v1)、API key 和模型名。
如果想在非交互环境(CI/CD)里创建,可以用dbgpt setup的--yes模式代替向导,例如:
export MOONSHOT_API_KEY=sk-xxx dbgpt setup --profile kimi --yescreate同样适用于重新配置:对已存在的 profile 再跑一次向导会覆盖原配置,文档中改 API key 的推荐做法就是"对同一 profile 重跑 setup 向导"。
查看和列出 profile
创建完成后,用show查看某个 profile 的完整 TOML 内容:
dbgpt profile show openai如果 profile 不存在,命令会报错并提示先运行dbgpt profile create <name>。
列出所有 profile,当前 active 的会带*标记(文档示例输出):
dbgpt profile list # openai ← 无星号 # * kimi ← 当前 active如果还没有配置过任何 profile,list会提示No profiles configured. Run: dbgpt setup。
另外,dbgpt setup --show会显示当前 active profile 名称和配置文件路径,适合快速确认"现在默认用的是哪份配置"。
切换 active profile 并启动
确认要切换到哪个 profile 后执行switch:
dbgpt profile switch openaiswitch只修改~/.dbgpt/config.toml中记录的默认 profile 名,不会改动各 profile 的 TOML 文件内容。切换成功后会输出(见 _profile_cmd.py):
Switched active profile to: openai如果传入的 profile 不存在,命令会提示Error: Profile '...' not found. Run: dbgpt profile create <name>并以退出码 1 结束,不会切换。
之后启动服务时:
# 使用当前 active profile dbgpt start # 或者临时指定 profile,不改动 active 设置 dbgpt start web --profile kimi--profile只影响本次启动(见上面"配置解析顺序"第 2 条),适合想临时试一个服务商而不改变默认的情况。不带参数直接dbgpt start等价于dbgpt start web。
启动成功的判断:终端会打印启动横幅(文档示例),其中列出本次使用的 Profile 名和 Config 文件路径:
🚀 DB-GPT Quick Start +- - - - - - - - - - - - - - - - - - - - - - - - - - - - + : Profile: openai : : Config: /Users/you/.dbgpt/configs/openai.toml: : Workspace: /Users/you/.dbgpt/workspace : +- - - - - - - - - - - - - - - - - - - - - - - - - - - - +/Users/you/...是文档中的示例路径,你的机器上会是实际的 home 目录。横幅里的 Profile 和 Config 两项可以直接用来核对:确认服务确实按你预期的 profile 启动。然后浏览器打开 http://localhost:5670 即可使用 Web 界面。
切换服务商的完整主路径总结:
dbgpt profile create kimi # 向导创建 Kimi profile dbgpt profile switch kimi # 设为默认 dbgpt start # 用新 profile 启动删除 profile
dbgpt profile delete minimax dbgpt profile delete minimax --yes # 跳过确认delete的副作用是直接从磁盘删除~/.dbgpt/configs/<name>.toml文件,且不会自动备份,执行前确认该配置不再需要。默认会先弹确认提示,加--yes跳过。
一个需要注意的行为:删除的如果是当前 active profile,config.toml里的默认记录会被清空,之后dbgpt start走不到有效 profile 时会重新进入配置向导。删除后建议再跑一次dbgpt profile list确认状态。
常见问题
- 报 "No config file found":说明还没有配置过任何 profile,运行
dbgpt setup进向导配置一份。 - 端口 5670 被占用:先
dbgpt stop webserver --port 5670停掉已有服务,或者修改对应配置文件的[service.web]里port = 5671换端口。 - 换 API key:对同一 profile 重跑
dbgpt setup --profile openai向导覆盖配置,或直接编辑~/.dbgpt/configs/openai.toml。
更多命令细节(dbgpt start的全部参数、--daemon后台运行、CI 部署示例、自定义端点配置)可参考 CLI Quick Start,profile 子命令的实现在 packages/dbgpt-core/src/dbgpt/cli/_profile_cmd.py。
【免费下载链接】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),仅供参考