用 LiteLLM 把十几家大模型收进一个网关:统一 key、限流与记账

一个团队做 AI 应用,半年下来手里往往攥着七八把 API key:OpenAI 的、Anthropic 的、DeepSeek 的、智谱的、还有本地 llama.cpp 的。每接一家,代码里就多一套字段名、一套错误码、一套计费口径。LiteLLM 要解决的就是这个:它对外只暴露 OpenAI 兼容协议,对内把各家模型翻译成同一套调用格式。 它到底统一了什么 一套 SDK:代码里只写 client.chat.completions.create(...),模型名写成 deepseek/deepseek-chat、gemini/gemini-2.5-pro 这样的前缀,剩下的转换由网关做; 一个 key 出口:应用只认网关地址,各家真实密钥存在服务端,前端拿不到; 统一记账:网关天然知道每次调用花了多少 token、哪家模型、哪个用户,可以直接出账单。 起一个网关 最省事的是用它的 proxy 模式:写一个 config.yaml 列出模型与对应环境变量里的密钥,然后 litellm --config config.yaml --port 4000。应用把 base_url 指向 http://localhost:4000,就像在调一个 OpenAI。 再往上走,可以开它的后台 UI,按团队、按 key 分组限额——市场部的 key 每天最多花 50 元,研发的 key 不限速但要记账。 为什么这件事值得做 Manus 2.0 把 Token 成本砍掉两成多,靠的是框架优化。但如果你连「谁在花、花在哪」都看不见,优化就是盲人摸象。一个统一网关是把账单从黑盒变成仪表盘的前提。等哪天你要在 GPT-6 和 DeepSeek 之间按价格动态切换模型,这个网关就是路由层——没有它,多模型容灾只是纸上谈兵。 补一个排障细节:网关层最容易出问题的是超时。长任务(Agent 跑十几步)很容易超过默认的短 HTTP 超时,导致前端报错但后端其实还在跑。把网关和客户端的超时都调到五分钟以上,并开启流式响应,长任务的体验才顺。另外,key 分组限额要配告警,别等账单来了才发现某个测试 key 被循环调用。 把网关立起来之后,你会发现「换模型」「看账单」「做限流」从改代码变成了改配置——这层抽象一旦到位,后面的多模型策略、价格路由才有地方生长,不至于散落在业务代码里。 去论坛讨论 这篇文章里的观点,欢迎到硅基AGI论坛讨论。按标题搜索:LiteLLM网关

2026-10-08 · 1 min · 69 words · AI 实战派
litellm proxy guide

LiteLLM 多模型代理部署:统一管理所有 LLM API

LiteLLM 是什么 LiteLLM 是一个统一的 LLM 代理层,用一套 OpenAI 兼容 API 调用 100+ 个模型提供商。它解决的核心问题是:每个 LLM 提供商的 API 格式都不一样。 提供商 API 格式 认证 流式格式 OpenAI /v1/chat/completions Bearer token SSE Anthropic /v1/messages x-api-key SSE (不同结构) Google Gemini /v1/models:generateContent API key JSON streaming Bedrock /model/{id}/invoke AWS Sig v4 Event stream DeepSeek /v1/chat/completions Bearer token SSE LiteLLM 把这些全部统一成 OpenAI 格式。你的应用代码只对接 LiteLLM,换模型只改配置不改代码。 快速部署 Docker 部署 docker run -d \ --name litellm-proxy \ -p 4000:4000 \ -v $(pwd)/config.yaml:/app/config.yaml \ -e LITELLM_MASTER_KEY=sk-1234 \ ghcr.io/berriai/litellm:main-latest \ --config /app/config.yaml 配置文件 # config.yaml model_list: # OpenAI 模型 - model_name: gpt-4o litellm_params: model: openai/gpt-4o api_key: os.environ/OPENAI_API_KEY # DeepSeek(OpenAI 兼容格式) - model_name: deepseek-chat litellm_params: model: deepseek/deepseek-chat api_key: os.environ/DEEPSEEK_API_KEY api_base: https://api.deepseek.com/v1 # Claude - model_name: claude-sonnet litellm_params: model: anthropic/claude-3-5-sonnet-20241022 api_key: os.environ/ANTHROPIC_API_KEY # Ollama 本地模型 - model_name: qwen-local litellm_params: model: ollama/qwen2.5:14b api_base: http://host.docker.internal:11434 # 负载均衡:同一模型名指向多个后端 - model_name: fast-model litellm_params: model: openai/gpt-4o-mini api_key: os.environ/OPENAI_API_KEY - model_name: fast-model litellm_params: model: deepseek/deepseek-chat api_key: os.environ/DEEPSEEK_API_KEY litellm_settings: # 缓存 cache: true cache_params: type: redis host: redis port: 6379 # 限流 max_budget: 100 # 每日 $100 上限 budget_duration: 1d router_settings: routing_strategy: least-busy # 负载均衡策略 num_retries: 3 timeout: 30 fallbacks: - model: gpt-4o fallback_to: [deepseek-chat, qwen-local] 启动验证 # 测试 OpenAI 兼容 API curl http://localhost:4000/v1/chat/completions \ -H "Authorization: Bearer sk-1234" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "Hello"}], "stream": false }' 核心功能 负载均衡 同一 model_name 配置多个后端,LiteLLM 自动分流: ...

2026-06-24 · 3 min · 600 words · AI 实战派
🔗 硅基 AGI 论坛 · silicon-agi.com | 📡 RSS 订阅
鲁ICP备2026018361号