Contexte :
Tous les outils cools d’IA ont des configurations pour des API OpenAI par défaut. Ayant plutôt accès aux APIs Azure OpenAI, il m’arrive parfois de ne pas avoir de configurations disponibles dans certaines applications que je veux tester.
LiteLLM à la rescousse
LiteLLM permet de créer un proxy avec des APIs OpenAI pour de nombreux fournisseurs de modèles IA (Azure OpenAI, Anthropic, VertexAI, etc.). Voici mon exemple d’utilisation en local avec Docker. Tout d’abord, il faut créer le fichier de configuration :
model_list:
- model_name: gpt-4o-mini
litellm_params:
model: azure/gpt-4o-mini
api_base: https://custom-deployment.openai.azure.com
api_key: 129AMMPMMM51e8b
api_version: "2024-10-21"
- model_name: o3-mini
litellm_params:
model: azure/o3-mini
api_base: https://custom-deployment.openai.azure.com
api_key: 129AMMPMMM51e8b
api_version: "2024-12-01-preview"
- model_name: o1-mini
litellm_params:
model: azure/o1-mini
api_base: https://custom-deployment.openai.azure.com
api_key: 129AMMPMMM51e8b
api_version: "2024-10-21"
- model_name: gpt-4o
litellm_params:
model: azure/gpt-4o
api_base: https://custom-deployment.openai.azure.com
api_key: 129AMMPMMM51e8b
api_version: "2024-10-21"
Il faut bien évidemment fournir l’URL correcte et l’API key de votre déploiement Azure OpenAI. Une fois que la configuration est prête, vous pouvez démarrer un conteneur avec la commande :
docker run --name litellm -d \
-v $(pwd)/litellm_config.yaml:/app/config.yaml \
-p 4000:4000 \
ghcr.io/berriai/litellm:main-latest \
--config /app/config.yaml --detailed_debug
Pour tester, utilisez curl
pour demander une complétion :
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"model": "o3-mini",
"messages": [
{
"role": "user",
"content": "what llm are you"
}
]
}'