LiteLLM¶
LiteLLM est un proxy open-source qui unifie l'accès à plusieurs APIs de LLM derrière une interface compatible OpenAI. Il est déployé sur le cluster de production pour centraliser et contrôler l'utilisation des modèles d'IA générative Scaleway par les applications.
Contexte et raison d'être¶
Scaleway ne fournit pas de mécanisme natif pour :
- Restreindre l'accès aux APIs par application — toute application ayant la clé API Scaleway peut appeler n'importe quel modèle
- Distinguer l'usage par application ou par environnement — impossible d'attribuer la consommation à un projet précis
LiteLLM répond à ces deux problèmes en jouant le rôle de proxy : chaque application reçoit sa propre clé API LiteLLM, avec les modèles autorisés explicitement définis. LiteLLM traçe l'usage par clé et transmet les requêtes à Scaleway avec la clé maître.
Architecture¶
Application (clé API LiteLLM propre à l'app)
↓ API compatible OpenAI
LiteLLM — cluster service, namespace litellm
↓ clé API maître Scaleway
Scaleway Generative APIs (modèles LLM)
Déploiement Terraform¶
| Run Terraform | Rôle |
|---|---|
infrastructure/main-infra/scw-service/terraform/080.litellm_installation |
Installation de LiteLLM sur le cluster |
infrastructure/main-infra/scw-service/terraform/081.litellm_configuration |
Configuration des modèles et des clés API par application |
Mettre à jour la liste des modèles disponibles¶
La liste des modèles Scaleway disponibles est consultable ici : https://www.scaleway.com/fr/tarifs/model-as-a-service/
Elle est définie dans scw-init-config/001.config_infrastructure/terraform.tfvars sous la clé gen_apis_models_definition.
Après modification, appliquer le run 081.litellm_configuration.
Créer une clé API pour une application¶
Éditer scw-init-config/002.config_applications et définir :
generative_api_accessàtruegenerative_api_modelsavec les modèles souhaités (issus de001.config)
"app_name" = {
project_name = "app_name"
generative_api_access = true
generative_api_models = ["gpt-oss-120b", "mistral-small-3.2-24b-instruct-2506"]
}
Puis appliquer 081.litellm_configuration.
Cela crée automatiquement une entrée Vault litellm_api_key dans chaque environnement applicatif, à référencer dans les secrets du chart Helm de l'application.
Interface d'administration¶
L'UI LiteLLM est accessible à l'adresse : https://litellm.svc.ademe-scw.fr/ui/login/
La clé de connexion (master key) est stockée dans le secret Kubernetes litellm-masterkey-secret (namespace litellm).
TODO¶
- Implémenter les budgets et quotas par application (ressource Terraform déjà présente sous forme commentée — la complexité réside dans la définition de la structure de données par utilisateur)