GitLab intègre rapidement des fonctionnalités d’IA telles que GitLab Duo, AI Gateway et des flux de CI/CD basés sur l’IA, mais de nombreuses organisations sont toujours confrontées à une utilisation fragmentée des modèles, à des coûts flous et à des préoccupations en matière de conformité.
Qu’est-ce que LiteLLM et pourquoi les utilisateurs de GitLab devraient s’y intéresser
LiteLLM est une passerelle et un proxy d’IA open source qui expose une API unique compatible OpenAI devant plus de 100 fournisseurs de LLM et backends auto-hébergés tels que OpenAI, Azure OpenAI, Anthropic, Amazon Bedrock, Gemini, vLLM et autres.
Au lieu de connecter chaque intégration GitLab directement au SDK d’un fournisseur spécifique, vous acheminez tout via LiteLLM et le laissez gérer les différences entre fournisseurs, le routage, les journaux et le calcul des coûts.
Pour les utilisateurs de GitLab, cela signifie que vous pouvez traiter LiteLLM comme le « plan de contrôle » pour toute utilisation de l’IA provenant de GitLab Duo, de l’AI Gateway et des pipelines CI/CD de GitLab.
Vous bénéficiez d’un point unique pour appliquer des politiques, observer le trafic et modifier les modèles sous-jacents sans toucher à vos jobs GitLab ou à votre configuration Duo.
Architecture : LiteLLM comme passerelle IA pour GitLab
Les scénarios GitLab Duo Self-Hosted et de « bring your own model » (BYOM) reposent sur un composant AI Gateway qui communique avec les fournisseurs de LLM via une API de style OpenAI, y compris les modèles auto-hébergés ou privés exposés via des points de terminaison compatibles.
La documentation de GitLab indique explicitement que l’AI Gateway peut prendre en charge plusieurs plateformes de LLM via LiteLLM, ce qui fait de LiteLLM un choix naturel comme passerelle derrière Duo pour les environnements auto-gérés et isolés (air-gapped).
À haut niveau, l’architecture ressemble à ceci :
- GitLab (fonctionnalités Duo, Chat, suggestions de code, Workflows) envoie des requêtes d’IA à l’AI Gateway.
- L’AI Gateway transmet ces appels à LiteLLM via un point de terminaison compatible OpenAI.
- LiteLLM achemine l’appel vers le fournisseur de votre choix ou le modèle auto-hébergé, enregistre l’utilisation et le coût, et renvoie la réponse à GitLab.
Le même point de terminaison LiteLLM peut également être appelé à partir des jobs GitLab CI, d’outils internes et d’autres services, ce qui vous permet de standardiser l’accès à l’IA sur l’ensemble de votre chaîne d’outils centrée sur GitLab.
Cas d’usage 1 : Apportez vos propres modèles pour GitLab Duo
GitLab Duo Self-Hosted vous permet de connecter GitLab à des modèles auto-gérés (par exemple, des déploiements sur site ou sur cloud privé) via l’AI Gateway et la configuration « modèles auto-hébergés ».
Ces modèles doivent être exposés via une API compatible OpenAI, ce qui est exactement ce que propose LiteLLM au-dessus de différents backends comme vLLM, Ollama ou des fournisseurs cloud.
Un schéma courant pour les clients de GitLab est le suivant :
- Exécuter LiteLLM comme proxy au sein de Kubernetes ou sur une VM à côté de GitLab.
- Configurer plusieurs backends dans
litellm_config.yaml– par exemple, un modèle cloud puissant pour le chat, un modèle de code local rapide pour la complétion, et un modèle plus petit pour les données hautement réglementées. - Exposer chaque backend sous un nom de « modèle » compatible OpenAI via LiteLLM.
- Enregistrer ces modèles dans GitLab en tant que modèles auto-hébergés ou compatibles et les affecter aux fonctionnalités Duo (Chat, suggestions de code, Expliquer ce code, etc.).
L’avantage : GitLab a seulement besoin de connaître le point de terminaison de LiteLLM et les noms de modèles, tandis que votre équipe plateforme reste libre de changer de fournisseur, de déplacer les charges de travail d’un cluster à l’autre ou d’ajouter de nouveaux modèles derrière LiteLLM sans modifier les paramètres Duo ou le code de l’application.
Cas d’usage 2 : Suivi des coûts et de l’utilisation pour GitLab AI
L’une des fonctionnalités les plus puissantes de LiteLLM est le suivi intégré de l’utilisation et des coûts, utilisant une base de données PostgreSQL et une interface utilisateur Web pour analyser les dépenses par fournisseur, modèle, utilisateur, clé API ou étiquettes personnalisées.
LiteLLM calcule le coût par requête en utilisant la consommation de jetons renvoyée par les fournisseurs et le stocke avec des métadonnées riches dans sa table LiteLLM_SpendLogs et les tables associées.
Pour GitLab, cela permet des scénarios pratiques de FinOps :
- Marquer chaque requête de GitLab avec des métadonnées telles que le groupe, le projet, le nom du job CI ou l’environnement.
Cela vous permet de répondre à des questions telles que « quels groupes GitLab génèrent le plus de dépenses Duo ? » ou « combien coûtent nos jobs CI basés sur l’IA par mois ? ». - Utiliser les clés API virtuelles, les organisations et les budgets de LiteLLM pour définir des limites de dépenses strictes ou flexibles par équipe, par environnement ou par intégration (par exemple, des clés distinctes pour les GitLab Runners de pré-production et de production).
- Explorer l’utilisation dans l’interface Web de LiteLLM à l’adresse
/uiou via ses API (par exemple/user/daily/activity) pour suivre les tendances dans le temps et détecter les anomalies ou les pics de coûts.
Combiné aux informations d’utilisation propres à GitLab et à la diffusion d’événements d’audit, LiteLLM vous donne une image beaucoup plus claire des coûts réels de l’IA dans l’ensemble de GitLab que les seuls tableaux de bord des fournisseurs.
Cas d’usage 3 : Pipelines CI/CD basés sur l’IA sans dépendance fournisseur
Parce que LiteLLM expose une API compatible OpenAI, n’importe quel job CI sachant comment appeler l’API OpenAI peut immédiatement fonctionner avec tous les modèles que vous acheminez via LiteLLM, y compris vLLM auto-hébergé ou des fournisseurs cloud.
En pratique, cela signifie qu’un modèle .gitlab-ci.yml unique et réutilisable peut survivre aux changements de fournisseurs pendant des années : vous mettez à jour uniquement la configuration de LiteLLM, et non tous vos pipelines.
Exemple : Job de revue d’IA dans GitLab CI
Voici un exemple simplifié d’un job GitLab CI qui envoie des diffs à LiteLLM pour un commentaire de « revue par l’IA », en utilisant des variables d’environnement pour l’URL de base et la clé de LiteLLM :
ai_review:
image: python:3.12-slim
stage: test
variables:
OPENAI_API_BASE: "https://litellm.internal/v1"
OPENAI_API_KEY: "${LITELLM_VIRTUAL_KEY}"
MODEL_NAME: "gpt-4-enterprise" # Logical model name exposed by LiteLLM
script:
- pip install openai==1.30.0
- git diff HEAD~1 HEAD > diff.patch
- python scripts/ai_review.py diff.patch
rules:
- if: '$CI_MERGE_REQUEST_IID'
Dans scripts/ai_review.py, vous utilisez le client OpenAI standard, et vous pourrez plus tard changer de modèle sous-jacent (par exemple, pour un déploiement auto-hébergé de Codestral ou Llama) simplement en modifiant la configuration de LiteLLM, sans toucher à ce job.
Le même modèle fonctionne pour générer des données de test, résumer des notes de version, refactoriser des extraits de code et bien d’autres étapes de pipeline optimisées par l’IA.
Cas d’usage 4 : Environnements GitLab isolés et réglementés
De nombreux clients de GitLab (notamment dans le secteur public, la défense, la santé et la finance) exploitent GitLab en mode auto-géré dans des réseaux isolés (air-gapped) ou sous des règles de résidence des données très strictes.
GitLab Duo Self-Hosted et l’AI Gateway sont conçus pour prendre en charge ces cas en communiquant uniquement avec des points de terminaison internes ou privés que vous contrôlez.
LiteLLM peut être déployé entièrement au sein du même réseau restreint, acheminant les requêtes vers des serveurs de modèles auto-hébergés et exposant un point de terminaison local compatible OpenAI qui n’atteint jamais l’internet public.
GitLab voit uniquement l’URL de l’AI Gateway, que vous faites pointer vers LiteLLM ; à partir de là, votre équipe de plateforme décide des modèles autorisés, de l’endroit où ils s’exécutent et des projets ou groupes qui peuvent y accéder.
Cette architecture vous permet de :
- Conserver tous les prompts et complétions sur site tout en continuant à utiliser GitLab Duo et le CI/CD optimisé par l’IA.
- Restreindre les projets réglementés à des modèles et des matériels spécifiques qui ont été évalués et approuvés en termes de risques.
- Intégrer les journaux de LiteLLM à votre SIEM, afin que l’utilisation de l’IA soit auditable comme tout autre service critique.
Cas d’usage 5 : Sécuriser votre passerelle IA et votre chaîne logistique logicielle
L’exécution d’une passerelle IA au sein de votre environnement GitLab introduit également un nouveau composant dans votre chaîne logistique logicielle ; son durcissement est donc essentiel.
Les récentes améliorations de la CI/CD de LiteLLM incluent des images de conteneurs signées (par exemple, à l’aide de Cosign), des configurations par défaut plus sécurisées et des directives plus claires sur ce qui est stocké dans sa base de données PostgreSQL.
Pour les utilisateurs de GitLab, cela s’aligne parfaitement avec les pratiques DevSecOps existantes :
- Vérifier les signatures des conteneurs LiteLLM dans vos jobs de déploiement GitLab CI avant de les passer en production.
- Contrôler les secrets auxquels LiteLLM peut accéder, et stocker toutes les clés API dans les variables sécurisées de GitLab ou dans un gestionnaire de secrets dédié.
- Surveiller les tables de base de données de LiteLLM, telles que les budgets, les organisations et les journaux de dépenses, dans le cadre de vos examens de sécurité réguliers.
Combiné avec les scanners de sécurité et les capacités d’audit propres à GitLab, LiteLLM devient une partie transparente et auditable de votre infrastructure d’IA plutôt qu’une boîte noire.
Comment commencer à expérimenter dans votre environnement GitLab
Si vous souhaitez expérimenter avant de vous lancer dans un déploiement complet, voici une démarche de départ pratique :
- Déployer LiteLLM avec PostgreSQL dans un environnement de non-production et activer son interface Web pour accéder aux tableaux de bord d’utilisation de base et de coûts.
- Exposer un modèle de test unique via LiteLLM (par exemple, un modèle OpenAI ou Azure OpenAI) et le connecter à l’AI Gateway de GitLab dans une instance de test.
- Ajouter un petit job CI optimisé par l’IA (par exemple, la génération de résumés de notes de version) en utilisant le point de terminaison de LiteLLM et une clé API virtuelle par projet.
- Examiner l’utilisation et les coûts dans l’interface utilisateur de LiteLLM, ajuster les budgets et les étiquettes, puis étendre à davantage de modèles et de projets une fois que vous êtes à l’aise.
Cette approche progressive vous permet de développer de l’expérience et des pratiques de gouvernance communes autour de LiteLLM et de GitLab, plutôt qu’un déploiement de l’IA de manière ad hoc entre différentes équipes.
Résumé : LiteLLM comme plan de contrôle pour l’IA de GitLab
Pour les organisations centrées sur GitLab, LiteLLM est bien plus qu’une simple enveloppe de commodité autour de différents fournisseurs de LLM.
Il peut devenir le plan de contrôle de toute l’utilisation de l’IA provenant de GitLab Duo, de l’AI Gateway, des pipelines CI/CD et des outils internes – vous offrant des API de standardisées, une visibilité sur les coûts, une sécurité renforcée et la flexibilité de changer de modèle sans réécrire le code.
Si vous prévoyez d’utiliser ou utilisez déjà GitLab Duo Self-Hosted, ou si vous souhaitez intégrer l’IA en toute sécurité dans GitLab CI/CD, l’ajout de LiteLLM dans votre architecture mérite d’être sérieusement envisagé.
Il s’intègre naturellement dans une démarche DevSecOps et peut vous aider à garder le contrôle de l’IA tout en offrant une valeur mesurable à vos équipes.






