docs/docs/getting-started/concepts/smmf.md
SMMF is DB-GPT's model management layer. It provides a unified interface for managing, switching, and deploying multiple LLM and embedding models — whether they are API proxies or locally hosted.
Different tasks benefit from different models. SMMF lets you:
| Provider | Config prefix | Example models |
|---|---|---|
| OpenAI | proxy/openai | GPT-4o, GPT-4o-mini |
| DeepSeek | proxy/deepseek | DeepSeek-V3, DeepSeek-R1 |
| Qwen (Tongyi) | proxy/tongyi | Qwen-Max, Qwen-Plus |
| SiliconFlow | proxy/siliconflow | Various hosted models |
| Ollama | proxy/ollama | Any Ollama-served model |
| Azure OpenAI | proxy/openai | Azure-hosted OpenAI models |
| Provider | Config prefix | Requirements |
|---|---|---|
| HuggingFace | hf | GPU recommended |
| vLLM | vllm | NVIDIA GPU + CUDA |
| llama.cpp | llama.cpp | CPU or GPU |
| MLX | mlx | Apple Silicon Mac |
Models are configured in TOML files under configs/:
[models]
# LLM configuration
[[models.llms]]
name = "chatgpt_proxyllm"
provider = "proxy/openai"
api_key = "sk-..."
# Embedding model configuration
[[models.embeddings]]
name = "text-embedding-3-small"
provider = "proxy/openai"
api_key = "sk-..."
You can define multiple LLMs and embeddings in the same config file.
All models run in the same process as the DB-GPT server. Simple and suitable for development or single-machine deployments.
uv run dbgpt start webserver --config configs/dbgpt-proxy-openai.toml
Models run on separate worker nodes, managed by a controller. Suitable for production deployments with multiple GPUs or machines.
flowchart LR
Server["DB-GPT Server"] --> Controller["Model Controller"]
Controller --> Worker1["Worker (LLM)"]
Controller --> Worker2["Worker (Embedding)"]
Controller --> Worker3["Worker (LLM 2)"]
Learn more: Cluster Deployment