Featured image of post LiteLLM pour piloter une stratégie FinOps sur les tokens LLM

LiteLLM pour piloter une stratégie FinOps sur les tokens LLM

LiteLLM permet de proxifier les appels aux LLM pour appliquer une stratégie FinOps : fallback vers des modèles moins chers, suivi de conso par équipe, budgets, dashboard.

Contexte

En cherchant comment maîtriser les coûts d’appels LLM sur plusieurs projets/équipes, je suis tombé sur LiteLLM : un proxy qui expose une API compatible OpenAI devant n’importe quel fournisseur (Anthropic, DeepSeek, Bedrock, Vertex AI, modèles locaux, etc.).

Ce que j’ai appris

LiteLLM ne se contente pas d’unifier les appels, il ajoute une vraie couche FinOps : budgets par clé/équipe/projet, fallback automatique vers un modèle moins coûteux en cas d’erreur ou de dépassement de budget, et un suivi de conso par tag/utilisateur exposé dans un dashboard intégré.

Détails

Un déploiement minimal via Docker, avec un fichier de config déclarant les modèles disponibles et une stratégie de fallback :

model_list:
  - model_name: claude-sonnet
    litellm_params:
      model: anthropic/claude-sonnet-4-5
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: deepseek-chat
    litellm_params:
      model: deepseek/deepseek-chat
      api_key: os.environ/DEEPSEEK_API_KEY

router_settings:
  fallbacks: [{"claude-sonnet": ["deepseek-chat"]}]

litellm_settings:
  max_budget: 100
  budget_duration: 30d
docker run -p 4000:4000 -v $(pwd)/config.yaml:/app/config.yaml \
  ghcr.io/berriai/litellm:main-latest --config /app/config.yaml

Chaque appel passe ensuite par http://localhost:4000 comme s’il s’agissait de l’API OpenAI, avec une clé virtuelle par équipe pour tracer et plafonner la conso. Si Claude est indisponible ou que le budget de l’équipe est dépassé, LiteLLM bascule automatiquement sur DeepSeek, nettement moins cher, sans changer une ligne de code applicatif.

Pourquoi c’est utile

Ça permet de découpler le code applicatif du fournisseur de LLM, d’éviter les mauvaises surprises de facturation (budget + fallback automatique), et de donner de la visibilité par équipe sans devoir bricoler ça soi-même côté billing de chaque provider.

Sources

Généré avec Hugo
Thème Stack conçu par Jimmy