Introduction
LiteLLM permet d'unifier les API de plus de 100 modèles de langage derrière une interface compatible OpenAI. En 2026, les équipes utilisent ce proxy pour centraliser l'authentification, appliquer des politiques de routage et collecter des métriques fines. Ce tutoriel couvre une installation experte avec configuration multi-fournisseurs, routage conditionnel et déploiement production-ready.
Prérequis
- Docker 24+ et Docker Compose
- Connaissances avancées de Python et des LLM
- Comptes API OpenAI, Anthropic et Groq
- Accès à un cluster Kubernetes ou VPS avec 8 Go RAM
Initialisation du projet
mkdir litellm-production && cd litellm-production
pip install litellm[proxy]==1.35.0
cat > config.yaml << 'EOF'
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: ${OPENAI_API_KEY}
EOFCréation du répertoire et installation de la version précise de LiteLLM. Le fichier config.yaml définit le premier modèle avec variables d'environnement pour sécuriser les clés.
Configuration multi-fournisseurs
model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: ${OPENAI_API_KEY}
- model_name: claude-3-5-sonnet
litellm_params:
model: anthropic/claude-3-5-sonnet-20241022
api_key: ${ANTHROPIC_API_KEY}
- model_name: llama-3.3-70b
litellm_params:
model: groq/llama-3.3-70b-versatile
api_key: ${GROQ_API_KEY}
rpm: 100
litellm_settings:
drop_params: true
request_timeout: 120Configuration complète de trois fournisseurs avec limites de débit. Le paramètre drop_params évite les erreurs de paramètres incompatibles entre modèles.
Configuration du routage avancé
router_settings:
routing_strategy: latency-based
fallbacks:
- gpt-4o: [claude-3-5-sonnet, llama-3.3-70b]
model_group_alias:
fast-model: llama-3.3-70b
smart-model: gpt-4o
allowed_fails: 3
cooldown_time: 30Activation du routage par latence avec fallback automatique. Les alias simplifient les appels clients tout en garantissant la résilience.
Lancement du serveur proxy
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GROQ_API_KEY=gsk-...
litellm --config config.yaml --port 4000 --num_workers 8 --telemetry falseLancement du proxy en mode haute performance avec 8 workers. La télémétrie est désactivée pour des raisons de confidentialité en production.
Configuration du logging avancé
litellm_settings:
success_callback: ["langfuse", "prometheus"]
failure_callback: ["langfuse"]
langfuse_public_key: ${LANGFUSE_PUBLIC_KEY}
langfuse_secret_key: ${LANGFUSE_SECRET_KEY}
prometheus_port: 9090Intégration de Langfuse pour le tracing et Prometheus pour les métriques. Chaque appel LLM est tracé avec tokens, latence et coût.
Bonnes pratiques
- Toujours utiliser des variables d'environnement pour les clés API
- Configurer des fallbacks pour chaque modèle critique
- Activer le rate limiting par utilisateur avec les headers X-Forwarded-For
- Monitorer le coût par modèle via Prometheus + Grafana
- Versionner le fichier config.yaml dans Git
Erreurs courantes à éviter
- Oublier de définir les variables d'environnement avant le lancement
- Utiliser des noms de modèles identiques sans alias
- Ignorer les timeouts sur les modèles lents comme Claude
- Ne pas activer les callbacks de logging en production
Pour aller plus loin
Découvrez notre formation complète sur les architectures LLM en production : https://learni-group.com/formations. Vous y apprendrez le scaling horizontal de LiteLLM et l'intégration avec LangChain.