← Retour au blog

LLMOps des briques au runbook

Lucian BLETAN

Les applications basées sur des LLM ne sont pas des logiciels classiques. Elles sont non-déterministes, leurs prompts changent constamment, les modèles sous-jacents évoluent, les coûts varient à chaque appel et de nouveaux risques émergent en continu. Le LLMOps est la discipline qui consiste à rendre ces systèmes opérables. Il ne s’agit pas d’un outil unique, mais d’un ensemble de briques techniques et de processus (“runbooks”) pour gérer ce cycle de vie complexe.

les piliers du llmops

Le LLMOps vise à maîtriser plusieurs facettes de la vie d’une application LLM.

llmops

gestion des prompts

observabilité & traces

évaluation continue

gestion des incidents

contrôle des coûts

les briques techniques essentielles

  • Gestionnaire de prompts: Un système centralisé (souvent un simple repo Git ou une UI dédiée) pour versionner les prompts, gérer les variables et voir l’historique des changements.
  • Store de traces: Une base de données ou un service de logging qui enregistre chaque interaction : le prompt final, le contexte, la réponse, la latence, le coût en tokens et le feedback utilisateur.
  • Routage de modèles: La capacité, via des feature flags, de diriger le trafic vers différents modèles (ex: gpt-4 vs gpt-3.5-turbo) pour des A/B tests ou des fallbacks.
  • Garde-fous (Guardrails): Des filtres programmatiques en entrée (pour bloquer les prompts malveillants, masquer les PII) et en sortie (pour bloquer les réponses toxiques ou non conformes).
  • Framework d’évaluation: Des jeux de données (“golden datasets”) et des scripts pour tester la performance et la sécurité d’un nouveau prompt avant son déploiement.

les runbooks: répondre aux incidents

Un runbook est une procédure simple et pré-écrite pour répondre à un incident connu. Il permet de réagir vite et sans paniquer.

runbook (actions immédiates)

incident détecté

exécuter

exécuter

exécuter

latence p95 > 3s

coûts journaliers > 200€

taux de réponses bloquées > 5%

basculer sur un modèle plus rapide

réduire les 'max tokens' par défaut

renforcer les filtres de sortie

le pilotage au quotidien

Le pilotage d’une app LLM repose sur des SLO (Service Level Objectives) clairs et un suivi quotidien via un tableau de bord.

  • SLO typiques:
    • Latence p95 < 2.5 secondes
    • Taux de réponses non conformes < 0.5%
    • Taux d’erreurs serveur < 0.2%
  • Budgets:
    • Coût journalier maximum < 200 EUR
    • Alerte envoyée à 80% du budget atteint

Le tableau de bord quotidien doit montrer en un coup d’œil : le volume de requêtes, le coût total, le coût par tâche, la satisfaction utilisateur (feedback), le nombre d’incidents et les prompts les plus coûteux. Une revue hebdomadaire permet ensuite de décider ce que l’on simplifie et ce que l’on retire.

erreurs courantes

  • Symptôme: On ne peut pas investiguer un problème car on ne sait pas quel prompt a généré la mauvaise réponse.

    • Cause: Logs lacunaires.
    • Correctif: Tracer 100% des prompts, contextes et réponses au début. Il est plus facile de réduire la journalisation plus tard que de regretter de ne pas l’avoir.
  • Symptôme: L’API OpenAI est en panne et notre application est complètement hors service.

    • Cause: Dépendance à une seule route modèle.
    • Correctif: Mettre en place une logique de fallback. Si le modèle principal échoue, basculer automatiquement sur un modèle secondaire (potentiellement moins puissant mais plus fiable) ou une réponse déterministe.
  • Symptôme: La facture a explosé à la fin du mois sans que personne ne s’en aperçoive.

    • Cause: Pas de budgets ni d’alertes.
    • Correctif: Mettre en place des budgets avec des alertes et des plafonds stricts (hard limits) au niveau de l’API du fournisseur.

faq

  • LLMOps, est-ce juste du DevOps pour les LLM ? En partie, mais avec des spécificités. Le LLMOps se concentre beaucoup plus sur la gestion d’éléments non-déterministes (les réponses du LLM), la qualité sémantique, et le versioning des prompts, qui n’ont pas d’équivalent direct en DevOps classique.

  • Par où commencer si je n’ai rien de tout ça ? Commencez par la brique la plus importante : le store de traces. Logguez chaque prompt, chaque réponse et chaque coût. C’est la fondation sur laquelle vous pourrez construire tout le reste : le monitoring, les alertes, l’évaluation et l’optimisation.