AI API成本管理实战:用LiteLLM搭建多模型智能路由网关,token费用直降60%
Rippling的故事告诉我们一个残酷现实:不加治理的AI API使用,成本增速远超生产力增速。但好消息是,你不需要花几百万美元买企业软件——开源社区已经给出了答案。
本教程教你用LiteLLM搭建一个多模型智能路由网关,自动将不同难度的任务分发到不同性价比的模型上。
前置条件
– Python 3.10+
– 至少一个AI API的密钥(OpenAI / Anthropic / DeepSeek 均可)
– 基本的命令行操作能力
– 预计耗时:20分钟
第一步:安装LiteLLM
pip install 'litellm[proxy]'
验证安装:
litellm --version
# 应输出版本号,如 1.50.0+
第二步:创建模型路由配置
创建一个 router_config.yaml 文件:
model_list:
# 便宜模型 — 日常任务
- model_name: gpt-cheap
litellm_params:
model: openai/gpt-5.6-mini
api_key: ${OPENAI_API_KEY}
max_tokens: 2000
rpm: 100 # 每分钟请求限制
# 中等模型 — 代码生成、复杂问答
- model_name: claude-balanced
litellm_params:
model: anthropic/claude-sonnet-4
api_key: ${ANTHROPIC_API_KEY}
max_tokens: 8000
# 旗舰模型 — 架构设计、关键任务
- model_name: gpt-premium
litellm_params:
model: openai/gpt-5.6
api_key: ${OPENAI_API_KEY}
max_tokens: 16000
rpm: 10 # 限制昂贵模型的调用频率
router_settings:
routing_strategy: "usage-based" # 按用量/成本路由
enable_pre_call_checks: true
allowed_fails: 3
num_retries: 2
fallbacks:
- gpt-cheap # 所有模型不可用时的兜底
第三步:设置环境变量
export OPENAI_API_KEY="sk-your-key-here"
export ANTHROPIC_API_KEY="sk-ant-your-key-here"
第四步:启动网关
litellm --config router_config.yaml --port 4000
看到以下输出表示启动成功:
LiteLLM Proxy server started on http://0.0.0.0:4000
第五步:测试路由
网关启动后,它暴露了标准的OpenAI API格式。所有调用只需将base_url改为 http://localhost:4000:
import openai
client = openai.OpenAI(
base_url="http://localhost:4000",
api_key="sk-litellm-dummy-key" # 本地网关的默认key
)
# 这个请求会自动路由到 gpt-cheap
response = client.chat.completions.create(
model="gpt-cheap",
messages=[{"role": "user", "content": "今天天气怎么样?"}]
)
print(response.choices[0].message.content)
进阶:智能路由策略
LiteLLM支持多种路由策略,根据你的需求选择:
成本优先路由(推荐):
router_settings:
routing_strategy: "latency-based-routing"
lowest_latency_routing: true
这样简单问题自动使用最快的便宜模型,只有复杂任务才调用旗舰模型。
语义路由(高级):
# 在代码层面,可以根据prompt复杂度动态选择模型
def smart_route(prompt: str) -> str:
if len(prompt) < 100 and "?" in prompt:
return "gpt-cheap" # 简单问答
elif "code" in prompt.lower() or "代码" in prompt:
return "claude-balanced" # 编程任务
else:
return "gpt-premium" # 复杂推理
第六步:查看成本报告
LiteLLM内置了基础的成本追踪:
# 查看所有请求的成本(使用curl调用管理API)
curl http://localhost:4000/spend/logs
# 按模型查看
curl http://localhost:4000/spend/logs?model=gpt-premium
你也可以开启LiteLLM的详细日志功能,在 router_config.yaml 中添加:
general_settings:
alerting: ["slack"] # 支持Slack、Email告警
disable_spend_logs: false
这样每次调用的token数、模型、费用都会被记录下来。如果你是企业用户,还可以接入Prometheus + Grafana做可视化监控——LiteLLM原生暴露了 /metrics 端点。
效果量化
按照Rippling的经验,合理的模型路由可以将token成本降低50-65%。你可以通过简单的前后对比来验证自己的效果:
1. 记录使用网关前一周的API费用
2. 部署网关并运行一周
3. 对比账单
一个典型的小团队(5-10名开发者)案例:网关部署前月均API费用约$300-500,部署后降至$120-200。差异主要来自将日常问答从GPT-5.6(每百万token约$15)路由到DeepSeek Chat(每百万token约$0.5)——成本差30倍,质量差距在日常场景下几乎感知不到。
常见问题
Q: 网关挂了会影响我的应用吗?
A: 建议设置fallback。在代码中保留直接调用API的备选路径:
try:
response = call_via_gateway(prompt)
except Exception:
response = call_openai_directly(prompt) # 降级方案
Q: 如何接入DeepSeek等国产模型?
A: LiteLLM已原生支持。在router_config.yaml中添加:
- model_name: deepseek-cheap
litellm_params:
model: deepseek/deepseek-chat
api_key: ${DEEPSEEK_API_KEY}
api_base: https://api.deepseek.com/v1
效果验证
按照Rippling的经验,合理的模型路由可以将token成本降低50-65%。你可以通过对比启用路由前后的月度账单来验证效果——如果你发现成本没有明显下降,检查一下是不是所有请求都被路由到了旗舰模型。
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn