跳到主要内容
版本:dev

集群部署

将 DB-GPT 部署为分布式集群,将 webserver、model worker 和 controller 拆分开来,以提升扩展性。

架构概览

组件角色默认端口
Controller服务注册与路由8000
LLM Worker提供语言模型服务8001+
Embedding Worker提供 Embedding 模型服务8003+
Reranker Worker提供重排模型服务8004+
API ServerREST API 网关(可选)8100
WebserverWeb UI 与应用逻辑5670

方式 A:手动集群部署(CLI)

第一步:启动 controller

dbgpt start controller

Controller 默认监听 8000 端口。

第二步:启动 LLM Worker

dbgpt start worker \
--model_name glm-4-9b-chat \
--model_path /app/models/glm-4-9b-chat \
--port 8001 \
--controller_addr http://127.0.0.1:8000

你也可以在不同端口上启动更多 worker:

dbgpt start worker \
--model_name vicuna-13b-v1.5 \
--model_path /app/models/vicuna-13b-v1.5 \
--port 8002 \
--controller_addr http://127.0.0.1:8000
信息

请将模型名称和路径替换为你自己的配置。每个 worker 都必须使用唯一端口。

第三步:启动 Embedding Worker

dbgpt start worker \
--model_name text2vec \
--model_path /app/models/text2vec-large-chinese \
--worker_type text2vec \
--port 8003 \
--controller_addr http://127.0.0.1:8000

第四步:启动 Reranker Worker(可选)

dbgpt start worker \
--worker_type text2vec \
--rerank \
--model_name bge-reranker-base \
--model_path /app/models/bge-reranker-base \
--port 8004 \
--controller_addr http://127.0.0.1:8000

第五步:验证已部署模型

dbgpt model list

预期输出:

+-------------------+------------+------+---------+
| Model Name | Model Type | Port | Healthy |
+-------------------+------------+------+---------+
| glm-4-9b-chat | llm | 8001 | True |
| vicuna-13b-v1.5 | llm | 8002 | True |
| text2vec | text2vec | 8003 | True |
| bge-reranker-base | text2vec | 8004 | True |
+-------------------+------------+------+---------+

第六步:启动 webserver

LLM_MODEL=glm-4-9b-chat \
MODEL_SERVER=http://127.0.0.1:8000 \
dbgpt start webserver --light --remote_embedding
参数作用
--light不启动内嵌模型服务
--remote_embedding使用远程 Embedding Worker

方式 B:Docker Compose 集群部署

使用预置好的集群 Compose 文件:

docker compose -f docker/compose_examples/cluster-docker-compose.yml up -d

该方式会启动:

  • Controller:服务注册中心
  • LLM Worker:在 GPU 上运行 glm-4-9b-chat
  • Embedding Worker:在 GPU 上运行 text2vec-large-chinese
  • Webserver:以轻量模式运行 Web UI
注意

运行前请先编辑 Compose 文件,设置你的模型路径。默认路径为 /data/models/

高可用集群

如果要部署带多个 controller 的高可用集群:

docker compose -f docker/compose_examples/ha-cluster-docker-compose.yml up -d

CLI 参考

dbgpt start worker --help

关键参数:

参数说明默认值
--model_name模型名称(必填)
--model_path模型文件路径(必填)
--worker_typeWorker 类型(llmtext2vecllm
--portWorker 端口8001
--controller_addrController 地址
--device设备类型(cudacpumpsauto
--num_gpus使用的 GPU 数量all
--load_8bit启用 8-bit 量化false
--load_4bit启用 4-bit 量化false
--max_context_size最大上下文窗口4096
dbgpt model --help
命令说明
dbgpt model list列出所有已注册模型实例
dbgpt model start启动模型实例
dbgpt model stop停止模型实例
dbgpt model restart重启模型实例
dbgpt model chat在 CLI 中直接与模型对话

下一步

主题链接
Docker 单容器部署Docker
Docker Compose 部署Docker Compose
源码部署Source Code
深入了解 SMMFMulti-Model Management