Mis à jour le 25 sept. 2025
6 min
# Pythonpip install litellm# Node.jsnpm install litellm# Exemple : utilisation d'OpenAI + Anthropic + Mistralexport OPENAI_API_KEY=sk-...export ANTHROPIC_API_KEY=sk-ant-...export MISTRAL_API_KEY=sk-mis-...from litellm import completionresp = completion(model="gpt-4o-mini", # or "anthropic/claude-3-5-sonnet", "mistral/mistral-large"messages=.---## Streaming, Outils et Mode JSON### Réponses en streaming```pythonfrom litellm import completionfor chunk in completion(model="gpt-4o-mini",messages=.### Coût et utilisation des tokensLiteLLM peut suivre l'utilisation des tokens et estimer le coût par requête, modèle ou projet. Avec le proxy, vous pouvez exporter l'utilisation vers les journaux, les tableaux de bord ou un collecteur de facturation. Ceci est précieux lorsque vous mélangez des fournisseurs avec des prix différents.---## Le proxy LiteLLM (Passerelle LLM)Si vous êtes une équipe ou une plateforme, le proxy est la véritable superpuissance : un service central avec routage, authentification, limites de débit, journalisation et observabilité. Vous interagissez avec lui en utilisant la surface de l'API OpenAI, de sorte que le code de votre application change à peine.### Démarrer le proxy```bash# exécution locale la plus simplelitellm --port 4000/v1/chat/completions. Pointez votre client OpenAI existant sur ` et vous êtes prêt.config.yaml :model_list:- model_name: gpt-4o-minilitellm_params:model: openai/gpt-4o-miniapi_key: ${OPENAI_API_KEY}- model_name: claude-3-5-sonnetlitellm_params:model: anthropic/claude-3-5-sonnetapi_key: ${ANTHROPIC_API_KEY}router:strategy: simple_weightedroutes:- model: gpt-4o-miniweight: 0.6- model: claude-3-5-sonnetweight: 0.4rate_limits:requests_per_minute: 120logging:level: infosink: stdoutauth:api_keys:- key: svc-app-123litellm --config config.yaml --port 4000from openai import OpenAIclient = OpenAI(base_url=" api_key="svc-app-123")resp = client.chat.completions.create(model="gpt-4o-mini",messages=.---## Routage avancé : Latence, coût ou fiabilitéVous pouvez implémenter des stratégies de routage comme :- Round-robin pondéré pour les modèles A/B- Priorité à la latence la plus faible par région- Routage tenant compte des coûts pour les points de terminaison non critiques- Basculement en cas d'erreur/nouvelle tentative entre les fournisseursAvec une politique de routeur, vous pouvez dire « préférer le bon marché, revenir au premium pour les invites difficiles ». Cela offre une haute disponibilité et des budgets prévisibles.---## Garde-fous, modération et sécuritéAjoutez un middleware de pré- et post-traitement pour supprimer les informations personnelles identifiables, appliquer des filtres de sécurité ou modérer les sorties avant de les renvoyer aux clients. Combinez la modération native du fournisseur (par exemple, OpenAI, Google) avec vos propres contrôles de politique dans le proxy. Exemple : exigez la validation du schéma JSON et reposez la question en cas d'invalidité.---## Observabilité et journalisation- Activer la journalisation des requêtes/réponses avec la suppression.- Exporter les métriques vers Prometheus/Grafana ou votre APM.- Tracer la latence, les tokens et le coût par point de terminaison et par utilisateur.Cela transforme la « roulette des modèles » en un service géré avec des SLO et des budgets.---## Modèles d'utilisation réels1) Résilience multi-fournisseurs- Primaire : modèle rapide/bon marché ; Basculement : modèle de haute précision sur 429/5xx.- Avantages : meilleure disponibilité, contrôle des coûts et qualité stable.2) Mises à niveau du modèle de feature flag- Utilisez les pondérations du routeur pour tester un nouveau modèle auprès de 5 % du trafic ; surveiller les métriques ; augmenter progressivement lorsque c'est stable.3) Niveaux de produits- Niveau gratuit routé vers de petits modèles ; Niveau Pro vers des modèles premium.4) Registres et modèles d'invites- Centralisez les invites dans le proxy afin que les services héritent des améliorations sans redéploiements.5) Facturation et budgets d'équipe- Suivre les dépenses par clé API ; appliquer des limites souples et strictes par équipe ou par produit.---## Liste de contrôle de sécurité et de conformité- Stockez les clés de fournisseur dans votre gestionnaire de secrets ; référencez via des variables d'environnement dans la configuration.- Activez la suppression des requêtes et le nettoyage des informations personnelles identifiables dans les journaux.- Utilisez des clés API par service pour le proxy ; effectuez une rotation régulière.- Définissez des limites de débit et des quotas à l'échelle de l'organisation.- Ajoutez des listes d'autorisation/listes de refus pour les modèles et les points de terminaison.---## Dépannage : corrections rapides- « Non autorisé » via le proxy : vérifiez `auth.api_keys` et que votre client utilise `base_url` + la clé correcte.- Modèle introuvable : assurez-vous que `model_list` contient le nom convivial que vous appelez.- Délais d'attente : augmentez `timeout` ou routez vers une région de fournisseur à latence plus faible.- Sorties étranges : activez le schéma JSON + la validation ; ajoutez des nouvelles tentatives et des basculements.- Pics de coûts : activez la mise en cache ; routez le trafic en masse vers des modèles moins chers ; définissez des quotas par clé.Pour des analyses plus approfondies et les dernières fonctionnalités, la documentation officielle est mise à jour fréquemment et mérite d'être mise en signet. Les didacticiels comme le guide de DataCamp sont parfaits pour les modèles pratiques, et le cours accéléré vidéo pour débutants peut vous aider à voir les concepts en action.---## Rassemblez tout : squelette d'application de référence (Python FastAPI)```python# app.pyfrom fastapi import FastAPIfrom pydantic import BaseModelfrom litellm import completionimport osclass ChatReq(BaseModel):question: strapp = FastAPI@app.post("/ask")async def ask(req: ChatReq):resp = completion(model=os.getenv("DEFAULT_MODEL", "gpt-4o-mini"),messages=.### FAQQ1 : Qu'est-ce que LiteLLM et pourquoi l'utiliser plutôt que les SDK de fournisseur direct ?LiteLLM est une passerelle compatible avec OpenAI pour plus de 100 LLM, ce qui vous donne une API et un modèle mental. Il réduit la dépendance vis-à-vis du fournisseur, simplifie le routage et ajoute des fonctionnalités d'exploitation comme la mise en cache, les nouvelles tentatives et le suivi des coûts.Q2 : Comment puis-je utiliser LiteLLM avec le SDK OpenAI ?Pointez l'URL de base du SDK vers le proxy LiteLLM et utilisez votre clé API de proxy. Votre code peut rester le même pendant que le proxy échange des fournisseurs ou des modèles en arrière-plan.Q3 : LiteLLM peut-il diffuser des réponses en continu et renvoyer du JSON ?Oui. Utilisez `stream=True` pour obtenir des flux de tokens et `response_format` avec le schéma JSON pour appliquer des sorties structurées entre les fournisseurs.Q4 : Comment puis-je contrôler les coûts entre différents fournisseurs de LLM ?Activez la journalisation de l'utilisation et l'estimation des coûts, ajoutez la mise en cache, définissez des limites de débit et routez le trafic en masse vers des modèles moins chers via le proxy. Surveillez avec des tableaux de bord pour les budgets et les SLO.Q5 : LiteLLM convient-il aux équipes de production ?Oui. Le proxy fournit l'authentification, les limites de débit, le routage, l'observabilité et le middleware de sécurité. Il est conçu comme une passerelle LLM qui centralise la gouvernance tout en gardant votre application compatible avec OpenAI.
Comment maîtriser ChatPDF : Obtenez des insights plus rapidement à partir de documents denses

La meilleure alternative à X Auto-Translation pour des documents rapides et précis

Traduction IA Samsung indisponible en Iran ? Solutions pratiques

Outils de traduction persan : un guide pratique pour un travail plus rapide et précis

La meilleure alternative à Grok pour une recherche approfondie et référencée

Les 15 principales fonctionnalités d'un générateur d'images IA que vous utiliserez réellement