前言

调用大模型时,简单问题用便宜模型、复杂问题用强模型,这是节省成本的基本思路。但手动判断每个请求的复杂度不现实。LiteLLM 的 Auto Router 解决了这个问题——它自动分析每个请求的复杂度,将简单问题路由到便宜模型,复杂问题路由到强模型。

本文介绍如何用 Docker Compose 部署 LiteLLM Proxy,并配置 Auto Router 实现按复杂度自动路由。

什么是 Auto Router

Auto Router 是 LiteLLM v1.94.x 引入的功能,将复杂度路由、语义路由和自适应路由合并为一个 auto_router/complexity_router。核心流程:

  1. 分类请求:用启发式评分、LLM 分类器或关键词规则判断请求复杂度
  2. 匹配层级:将请求分为 SIMPLE、MEDIUM、COMPLEX、REASONING 四个层级
  3. 路由模型:每个层级可指定单个模型、随机池或 Thompson 采样池

快速部署

使用官方 Docker Compose

curl -sSL https://docs.litellm.ai/docker-compose.yml | docker compose -f - up -d

启动两个服务:

  • litellm:网关服务,端口 4000
  • db:PostgreSQL 16 数据库,存储模型配置、虚拟密钥和消费日志

重要LITELLM_SALT_KEY 用于加密 provider API 密钥,部署前务必改为随机值,且不要后续更改。

访问 Admin UI

服务启动后,访问 http://localhost:4000/ui

  • 用户名:admin
  • 密码:LITELLM_MASTER_KEY 的值(默认 sk-1234

添加模型

在 Admin UI 中进入 Models + Endpoints,添加需要使用的模型(如 gpt-4o-mini、gpt-4o、claude-sonnet-5 等)。

配置 Auto Router

通过 Admin UI 配置

  1. 进入 Models + Endpoints
  2. 点击 Add Model
  3. 选择 Auto Router 标签页
  4. Router Type 默认选择 Auto-Router v2 [Recommended]
  5. 配置四个层级的模型:
    • SIMPLE:简单问题(如 gpt-4o-mini)
    • MEDIUM:中等问题(如 gpt-4o)
    • COMPLEX:复杂问题(如 claude-sonnet-5)
    • REASONING:推理问题(如 gpt-5.5)
  6. 可选启用:
    • Semantic Keyword Matching:通过嵌入匹配同义词
    • LLM Classifier:用小模型做分类
    • Adaptive:Thompson 采样自适应路由
    • Session Affinity:锁定会话模型
  7. 点击 Test Connection 测试各层级连接
  8. 保存配置

调用示例

curl -X POST http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -d '{
    "model": "smart-router",
    "messages": [{"role": "user", "content": "What is 2+2?"}]
  }'

响应头中可以看到实际路由的模型:

x-litellm-auto-router-model: gpt-4o-mini

决策日志

每次路由决策输出一行日志,便于排查:

ComplexityRouter: routing decision cause=complexity_scorer, tier=SIMPLE, score=-0.150, signals=['short (7 tokens)', 'simple (what is)'], routed_model=gpt-4o-mini
ComplexityRouter: routing decision cause=literal_keyword_match, tier=REASONING, routed_model=gpt-5.5
ComplexityRouter: routing decision cause=llm_classifier, tier=COMPLEX, score=1.000, routed_model=claude-sonnet-5
ComplexityRouter: routing decision cause=session_affinity_pin, routed_model=gpt-5.5

总结

LiteLLM Auto Router 提供了按复杂度自动路由的完整方案:

  1. 三种分类方式:启发式评分(零延迟)、LLM 分类器(更准确)、关键词规则(确定性)
  2. 四个复杂度层级:SIMPLE、MEDIUM、COMPLEX、REASONING
  3. 层级池:支持单模型、随机池、Thompson 采样池
  4. 会话亲和性:锁定会话模型,保护 prompt cache
  5. 路由日志:每次决策可追溯

Docker Compose 一键部署,模型和路由配置通过 Admin UI 完成。适合需要根据问题复杂度自动选择模型的场景。

(完)