↓ Aller au contenu

IA Locale & Souveraine #3 : Classifier vos tickets en local — JSON structuré, zéro hallucination

·280 mots·2 mins
Pierre Dupont
Auteur
Pierre Dupont
Data Architect Freelance | Expert Modern Data Stack Open Source | 20+ ans d’XP | KISS & DRY Advocate
IA Locale - Cet article fait partie d'une série.
Partie 3: Cet article

IA Locale & Souveraine #3 : Classifier vos tickets en local — JSON structuré, zéro hallucination
#

IA Locale & Souveraine #3

Des tickets en texte libre qui arrivent par centaines. IT, RH, Finance, Commercial, Juridique — il faut les router maintenant, sans les lire un par un. Ce tuto montre comment un LLM local (Qwen2.5-3B) fait le job en JSON valide, déterministe, sans cloud.

Ce que fait ce tuto (en 15 min)
#

  • Réutilise l’image de base + volume shared-models du tuto 2 — zéro rebuild modèle, build image tuto en secondes.
  • Prompt système Few-shot qui force une réponse JSON stricte : departement, frustration, urgence — valeurs énumérées, pas de texte libre.
  • temperature=0 + stop=["}"] → réponse déterministe, coupée pile à la fin du JSON, refermée proprement.
  • 5 tickets d’exemple réalistes (panne critique, accès RH, remboursement, contrat fournisseur, imprimante) → fichier resultats.json exploitable direct.

Résultat type
#

{
  "id": "INC-001",
  "texte": "Bonjour, mon ordinateur portable ne s'allume plus...",
  "departement": "IT",
  "frustration": "Elevee",
  "urgence": "Critique"
}

Pourquoi ça marche en prod (pas juste en démo)
#

Problème classiqueSolution du tuto
LLM répond en prosePrompt + response_format={"type":"json_object"} + stop token
Hallucination de valeursÉnumération fermée dans le prompt (IT|RH|Finance|…)
Non-déterminismetemperature=0
Intégration amont/avalJSON natif → parsable par n’importe quel orchestrateur

Pour qui ?
#

Équipes support, Ops, Data qui veulent automatiser le tri sans envoyer les tickets chez un tiers. Le modèle tourne sur votre N100, les données ne bougent pas.

Accès au code complet
#

👉 Tutoriel pas à pas (GitHub) : 03-classification/docs/tutoriel.md

Prochain épisode : extraction d’entités nommées — on transforme des bios en texte libre (CSV) en fiches profils structurées (prénom, nom, âge, email) JSON + CSV, prêtes pour CRM.

IA Locale - Cet article fait partie d'une série.
Partie 3: Cet article