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

Scroll to Top
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅