LiteLLM : un outil polyvalent pour les Large Language Models
LiteLLM est un outil innovant développé en Python, conçu pour interfacer différents modèles de Large Language Models (LLM) en utilisant une syntaxe constante. Il fonctionne comme client et offre la possibilité d'interagir avec plusieurs LLM de manière uniforme. Cela signifie que vous pouvez utiliser le même code pour solliciter divers LLM et récupérer le résultat dans un format unique, indépendamment du modèle utilisé.
Actuellement, LiteLLM propose deux outils principaux pour faciliter le
développement d’application utilisant des LLM. Le premier est un SDK Python qui facilite l'interfaçage avec divers LLM. Le second, un Proxy OpenAI qui offre plusieurs fonctionnalités intéressantes, dont un outil de suivi des coûts et d'alerte pour une gestion controlée de votre utilisation des LLM.
Quels sont les LLM compatibles ?
L'une des forces de LiteLLM est sa flexibilité. En effet, vous pouvez rapidement mettre en place des applications qui exploitent des LLM de divers fournisseurs. Voici quelques-uns des fournisseurs supportés par LiteLLM :
- OpenAI
- Anthropic
- VertexAI
- HuggingFace
- Azure OpenAI
- Ollama
- Openrouter
Il est important de noter que cette liste peut ne pas être exhaustive. En effet, LiteLLM étant un projet actif, de nouveaux fournisseurs peuvent être régulièrement ajoutés.
Comment utiliser LiteLLM pour déployer une application en Python ?
Aujourd’hui, grâce au SDK Python de LiteLLM, vous avez la possibilité de travailler avec une gamme de plus de 100 LLM différents. Après avoir installé LiteLLM via un gestionnaire de bibliothèque Python, déployer ces LLM est aisé grâce à une syntaxe simplifiée :
from litellm import completion
import os
## set ENV variables
os.environ["OPENAI_API_KEY"] = "your-api-key"
response = completion(
model="gpt-3.5-turbo",
messages=[{ "content": "Hello, comment allez-vous ?", "role": "user"}]
)
print(response['choices'][0]['message']['content'])
Ce simple bloc de code vous permet d'interagir avec le LLM de votre choix. Le SDK offre également la possibilité de récupérer la réponse en continu en passant l'argument stream=True, offrant ainsi une plus grande flexibilité dans la gestion des réponses.
La particularité de LiteLLM est de fournir le résultat dans un format uniforme, accessible de la manière suivante :
response['choices'][0]['message']['content']
Mot de la fin
LiteLLM est un outil puissant qui peut vous aider à rationaliser vos développements avec plusieurs modèles de LLM. D'ailleurs, si vous souhaitez démarrer un projet LLM, découvrez cet article qui vous donnera toutes les infos pour vous lancer.
Et pour en savoir plus sur LiteLLM et découvrir comment il peut simplifier vos workflow avec les LLM, cliquez ici.