LiteLLM : proxy unifié pour les LLMs
LiteLLM est un proxy open-source qui expose une API compatible OpenAI et route vers n'importe quel provider : Anthropic, OpenAI, Ollama, AWS Bedrock, Google Vertex, Azure, OpenRouter... Tu changes le provider dans la config, ton code ne change pas.
C'est l'outil sans équivalent natif côté Anthropic — Anthropic n'offre pas de gateway multi-provider. LiteLLM comble ce manque.
Cas d'usage typiques
- Centraliser les appels LLM de toute une équipe avec un seul point d'entrée
- Logging et observabilité sur tous les appels (coût, latence, tokens)
- Rate limiting et budget par équipe/projet
- Fallback automatique si un provider est down
- Passer d'Anthropic à Ollama local sans changer une ligne de code
Installation rapide
pip install litellm[proxy]
Config minimale (litellm_config.yaml)
model_list:
- model_name: claude-sonnet # nom que ton code utilise
litellm_params:
model: anthropic/claude-sonnet-4-6
api_key: sk-ant-XXXXXXXX
- model_name: claude-sonnet # fallback automatique
litellm_params:
model: openrouter/anthropic/claude-sonnet-4-6
api_key: sk-or-XXXXXXXX
- model_name: local-qwen # modèle local via Ollama
litellm_params:
model: ollama/qwen3:8b
api_base: http://localhost:11434
litellm_settings:
fallbacks: [{"claude-sonnet": ["local-qwen"]}]
num_retries: 2
Démarrer le proxy
litellm --config litellm_config.yaml --port 4000
Utiliser le proxy dans ton code
from openai import OpenAI
# Même code qu'avec OpenAI — juste base_url qui change
client = OpenAI(base_url="http://localhost:4000", api_key="anything")
response = client.chat.completions.create(
model="claude-sonnet", # nom défini dans ta config
messages=[{"role": "user", "content": "Hello"}]
)
Avec Docker (recommandé en prod)
# docker-compose.yml
services:
litellm:
image: ghcr.io/berriai/litellm:main-latest
ports:
- "4000:4000"
volumes:
- ./litellm_config.yaml:/app/config.yaml
command: ["--config", "/app/config.yaml", "--detailed_debug"]
environment:
ANTHROPIC_API_KEY: sk-ant-XXXXXXXX
OPENROUTER_API_KEY: sk-or-XXXXXXXX
Dashboard de monitoring
litellm --config litellm_config.yaml --port 4000 --ui
Interface web sur http://localhost:4000/ui : coût par modèle, latence, erreurs, budget restant.