
大模型用得越多,越容易陷入一种混乱状态。
刚开始问题不大,大家还能靠“记得住”来维持。
但只要项目一多、人数一多,麻烦立刻显现出来:
费用开始失控、模型切换成本极高、权限越来越乱、出了问题也很难排查。
于是,越来越多团队开始引入一个概念:
大模型网关(LLM Gateway)。
在目前的开源方案里,LiteLLM 是非常实用、也非常容易真正落地的一种。
我们按下面这条路线,一步步把它跑起来:
为什么要用 → Docker Compose 部署 → 模型与 Key 管理 → 权限与预算 → 实际调用 → 真实使用场景
先说清楚一件事:
LiteLLM 本身不是模型。
它更像是一个统一的大模型代理层,或者你也可以理解为:
所有大模型的 统一入口 + 管理中枢
对外,它暴露的是 OpenAI 兼容 API;
对内,它可以接入各种不同来源的大模型,包括:
最终的效果是:
应用侧只需要认一个地址、一个 Virtual Key。
至于后面到底用的是哪家模型、怎么调度、怎么限额,全部交给 LiteLLM 处理。
如果只是本地玩一玩,直接起一个 Docker 容器也可以。
但只要你是长期使用或多人使用,Docker Compose 是最稳妥的方式。
它有几个明显好处:
litellm/
├── docker-compose.yml
└── .env保持简洁,后面所有东西都围绕这两个文件来。
编写 docker-compose.ymlservices:
litellm:
build:
context: .
args:
target: runtime
image: docker.litellm.ai/berriai/litellm:main-stable
#########################################
# Uncomment these lines to start proxy with a config.yaml file #
# volumes:
# - ./config.yaml:/app/config.yaml
# command:
# - "--config=/app/config.yaml"
##############################################
ports:
- "4000:4000"
environment:
DATABASE_URL: "postgresql://llmproxy:dbpassword9090@db:5432/litellm"
STORE_MODEL_IN_DB: "True"
env_file:
- .env
depends_on:
- db
healthcheck:
test:
- CMD-SHELL
- python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
db:
image: postgres:16
restart: always
container_name: litellm_db
environment:
POSTGRES_DB: litellm
POSTGRES_USER: llmproxy
POSTGRES_PASSWORD: dbpassword9090
ports:
- "5432:5432"
volumes:
- /home/data/litellm/postgres/data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"]
interval: 1s
timeout: 5s
retries: 10提醒一句: 记得把 db 的 volumes 路径改成您自己机器上的真实路径。
境变量 .envLITELLM_MASTER_KEY=sk-1234
STORE_MODEL_IN_DB=True这里的 LITELLM_MASTER_KEY,就是后面登录后台用的密码。
docker compose -p litellm up -d浏览器打开:
http://localhost:4000
admin.env 里配置的 LITELLM_MASTER_KEYLiteLLM 的核心设计之一,就是用 Virtual Key 来统一管理、隔离使用者和模型资源。
在 Models + Endpoints 页面中,选择 Add Model。

注意:生成的 Key 只显示一次,一定要保存好。


当开始多人使用时,这一部分非常关键。
用于统一管理成员和资源。


通过访问组来控制:
谁能用哪些模型、哪些 Key。

如果你接的是收费模型,这一步非常有用。



from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
name="ollama",
model="qwen3:8b",
base_url="http://192.168.31.242:4000",
api_key="sk-Rj-rnKC9lgaohyI7bxKVkg"
)
response = llm.invoke("你是谁?")
print(response)核心只有三点:

今天 GPT-4
明天 Gemini
后天本地模型
只改配置,不动业务代码。
很多人刚接触大模型时,最关心的是效果;
真正用久了才发现,最难的是管理、成本和稳定性。
LiteLLM 并不会让模型变聪明,
但它能让你:
如果你已经不满足“能跑就行”,
那这个网关,确实值得你认真搭一套。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。