Le diagnostic : un LLM face à une question qu'il ne connaît pas
Le scénario
Section titled “Le scénario”Une équipe DevOps interne dispose de 5 runbooks (procédure d’astreinte, matrice d’escalade, politique de sauvegardes, procédure de rollback, playbook de bascule de base de données) en PDF. L’objectif : un assistant qui répond aux questions de l’équipe à partir de cette documentation précise, sans jamais inventer une valeur.
Charger un petit LLM d’instruction
Section titled “Charger un petit LLM d’instruction”from transformers import pipeline
generator = pipeline("text-generation", model="Qwen/Qwen2.5-0.5B-Instruct")
def ask_llm(question): messages = [{"role": "user", "content": question}] result = generator(messages, max_new_tokens=120, do_sample=False) return result[0]["generated_text"][-1]["content"]pipeline("text-generation", model=...) télécharge, charge et assemble un LLM d’instruction en une seule ligne. Le format [{"role": "user", "content": ...}] est celui d’une conversation : un rôle (user, assistant) associé à un contenu. do_sample=False rend les réponses déterministes (reproductibles d’une exécution à l’autre) — un choix pédagogique délibéré pour ce cours.
Poser une question précise, sans contexte
Section titled “Poser une question précise, sans contexte”question = "Au bout de combien de temps un rollback de deploiement doit-il etre possible ?"print(ask_llm(question))Un rollback de déploiement est une opération qui permet aux développeurs d'annuler leschangements effectués dans leur application avant qu'ils ne soient en cours d'exécution.Le délai pour un rollback de déploiement peut varier selon plusieurs facteurs, notamment :
1. **Durée du déploiement** : Les dépendances entre les services peuvent être complexes,ce qui peut nécessiter des délais plus longs pour que tous les services soient désactivés.
2. **Type de déploiement** : Un déploiement complet (Le modèle ne donne aucune réponse concrète : il définit le concept, puis énumère des « facteurs » génériques, sans jamais avancer le chiffre attendu (10 minutes, d’après le runbook réel). Ce n’est pas une invention grossière comme pourrait le faire un modèle plus verbeux — c’est une esquive : le modèle comble l’absence de connaissance spécifique par du remplissage plausible, un comportement tout aussi trompeur pour un utilisateur pressé qui pourrait croire avoir obtenu une réponse.
Pourquoi ce comportement est structurel
Section titled “Pourquoi ce comportement est structurel”Le modèle n’a, par construction, aucun accès à la documentation interne de cette équipe — elle n’existait pas dans ses données d’entraînement. Aucun réglage de température ou de prompt ne peut compenser une information absente : il faut la lui fournir explicitement. C’est tout l’enjeu du reste de ce module.
Prochaine étape
Section titled “Prochaine étape”👉 Extraction et nettoyage de texte depuis des PDF
Junior TSAFACK – 12/09/2026