Utiliser LiteLLM comme proxy pour Azure OpenAI

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"
        }
    ]
}'

S'inscrire à ma liste de diffusion

Abonnement réussi

Erreur lors de l'inscription.

Nous ne communiquerons jamais votre adresse électronique à qui que ce soit.