Bonjour et bienvenue dans cette nouvelle leçon !
Dans la leçon précédente, vous avez établi la connexion fondamentale entre n8n et un modèle de langage (LLM) via l'API d'OpenAI. Vous avez construit votre premier workflow d'agent IA, capable de recevoir un message et de générer une réponse. C'est la première étape essentielle pour toute automatisation intelligente.
Aujourd'hui, nous allons mettre cette connexion au service d'une tâche extrêmement puissante et pratique : classifier du texte entrant en catégories prédéfinies à l'aide d'un LLM. Imaginez pouvoir trier automatiquement des emails, des tickets de support, ou des avis clients sans intervention manuelle. C'est précisément ce que vous apprendrez à faire.
À la fin de cette leçon, vous serez en mesure de construire un workflow qui analyse un texte et lui assigne une catégorie et une priorité, une compétence clé pour de nombreux cas d'usage professionnels.
1. La Classification de Texte : Donner un Sens à l'Information
La classification est le processus qui consiste à assigner une ou plusieurs étiquettes (catégories) à un morceau de texte. C'est une tâche où les LLMs excellent, car ils peuvent comprendre le contexte et la nuance d'un langage non structuré.
Dans n8n, il existe principalement deux approches pour accomplir cette tâche :
- Le nœud
Text Classifier: Un nœud spécialisé, conçu spécifiquement pour la classification. Il est simple et direct pour des besoins de catégorisation clairs. - Le nœud
AI Agentavec un prompt structuré : Une méthode plus flexible et puissante, qui utilise le nœudOpenAI Chat Modelque vous connaissez déjà. Elle permet non seulement de classifier, mais aussi d'extraire d'autres informations structurées en même temps (comme une priorité, un résumé, etc.).
Nous allons explorer les deux, en nous concentrant sur la seconde méthode qui offre plus de possibilités.
2. Méthode 1 : Le Nœud Spécialisé Text Classifier
Le nœud Text Classifier est l'outil le plus direct pour la classification dans n8n. Il est conçu pour prendre un texte en entrée et le faire correspondre à l'une des catégories que vous avez définies.
La vidéo suivante, bien qu'en anglais, offre une excellente démonstration visuelle de son fonctionnement et de son importance.
n8n Text Classifier Node Tutorial: Build Smarter, More Powerful AI Agents
Cette vidéo de la chaîne "Bradford Carlton - Automate Business AI" présente le nœud Text Classifier comme un élément central pour construire des agents IA complexes.
Regardez les segments de 00:48 à 04:57. Concentrez-vous sur les points suivants : Configuration de base (00:48 - 02:14) : Observez comment ajouter le nœud, fournir le texte d'entrée (Input), et définir les catégories (Categories). Notez les options comme Other Branch pour gérer les cas qui ne correspondent à aucune catégorie. L'importance des descriptions (02:14 - 04:57) : C'est le point le plus crucial. L'auteur explique pourquoi des descriptions de catégorie vagues comme "toute requête sur la météo" sont inefficaces. Il montre comment des descriptions détaillées, qui agissent comme des mini-prompts, améliorent considérablement la précision de la classification.
Points Clés du Text Classifier
- Entrée (
Input) : C'est ici que vous fournissez le texte à classifier, généralement via une expression n8n (par exemple, le corps d'un email ou un message de chat). - Catégories (
Categories) : Vous définissez chaque catégorie potentielle avec un nom et, surtout, une description détaillée. Cette description est votre instruction au LLM pour qu'il comprenne quand assigner cette catégorie. Pensez-y comme à un "mini-prompt". - Sorties multiples : Le nœud crée une sortie distincte pour chaque catégorie que vous définissez, ce qui facilite le branchement de votre logique avec un nœud
IFouSwitchpar la suite.
Pour un aperçu écrit en français, l'article d'Ocade Fusion mentionne également ce nœud comme une solution de choix.
Workflow Extraction Content File N8N Français - Ocade Fusion
Cet article sur l'extraction de contenu mentionne explicitement la classification comme une étape clé après l'extraction de texte.
Lisez rapidement les sections "Classifier les documents avec l’IA" et la question "Peut-on classifier automatiquement des documents avec N8N ?" dans la FAQ. Cela confirmera l'usage du nœud Text Classifier et introduira l'alternative via un LLM, que nous allons voir maintenant.
Bien que simple, le nœud Text Classifier est parfois limité si vous avez besoin d'une sortie plus complexe qu'une simple catégorie. C'est là qu'intervient la deuxième méthode.
3. Méthode 2 : Classification via Prompt Engineering
Cette approche utilise les nœuds AI Agent et OpenAI Chat Model que vous avez configurés lors de la leçon précédente. La magie opère dans la manière dont nous rédigeons le System Prompt. L'objectif est de contraindre le LLM à retourner une réponse dans un format structuré et prévisible, comme un objet JSON.
C'est une technique extrêmement puissante pour un consultant technique comme vous, car elle transforme le LLM en un service d'API prédictible que vous pouvez intégrer de manière fiable dans des processus métier.
L'article suivant fournit un exemple parfait et concret pour un cas de classification de tickets de support.
Building AI Workers with n8n: A Practical Guide Using OpenAI ...
L'article "Building AI Workers with n8n" sur Medium.com détaille la création d'un classificateur de tickets intelligent. Nous allons nous concentrer sur la partie la plus importante : le prompt.
Lisez attentivement la section "Step 4: Call the AI model". Portez une attention particulière au "Example system message". Analysez sa structure : Rôle : You are a support ticket classifier. Règles critiques de formatage : Il insiste pour que la sortie soit UNIQUEMENT un JSON valide, sans texte additionnel. C'est la clé de la robustesse. Logique de classification : Il définit les règles pour assigner les priorités. Format de sortie exact : Il spécifie la structure du JSON attendu (priority, category, summary). Cet exemple de prompt est une excellente base pour notre exercice.
Exercice Pratique : Construction d'un Classificateur de Tickets de Support
Mettons cela en pratique. Nous allons construire un workflow qui reçoit un ticket de support, le classifie en utilisant la méthode du "prompt engineering", et prépare le terrain pour le router.
Scénario : Vous gérez les demandes entrantes pour un service client. Vous voulez automatiquement déterminer la catégorie et la priorité de chaque demande.
Votre workflow :
-
Déclencheur : Commencez avec un nœud
Manual(ouWhen Chat Message Receivedsi vous préférez tester en mode interactif). Pour simuler une entrée, nous allons utiliser une variable simple. -
Nœud
Set: Ajoutez un nœudSet. Créez un champ nomméticket_bodyet collez-y le texte suivant pour notre premier test :Bonjour, je n'arrive plus à me connecter. J'ai essayé de réinitialiser mon mot de passe mais je ne reçois pas l'email. Mon compte est bloqué et c'est urgent. -
Nœud
AI Agent: Ajoutez un nœudAI Agent.- Source for Prompt : Changez pour
Define Below. - User Message : Entrez l'expression
{{ $json.ticket_body }}pour passer le texte de notre ticket. - System Prompt : C'est ici que nous appliquons ce que nous avons appris. Adaptez le prompt de l'article LINK en français. Voici une base solide :
Tu es un expert en classification de tickets de support. Analyse le ticket ci-dessous et retourne UNIQUEMENT un objet JSON valide, sans aucun texte ou formatage supplémentaire comme \`\`\`json. ### RÈGLES CRITIQUES : - La sortie doit être exclusivement un objet JSON valide. - Pas d'explication avant ou après le JSON. ### FORMAT DE SORTIE : { "categorie": "nom_de_la_categorie", "priorite": "niveau_de_priorite", "resume": "un résumé très court en une phrase" } ### NIVEAUX DE PRIORITÉ POSSIBLES : - "Haute" : Problèmes bloquants (accès au compte, paiement, perte de données, erreur critique). - "Moyenne" : Bugs non critiques, questions fonctionnelles. - "Basse" : Questions générales, demandes d'information. ### CATÉGORIES POSSIBLES : - "Compte" : Problèmes de connexion, mot de passe, profil utilisateur. - "Facturation" : Questions sur les paiements, abonnements, factures. - "Technique" : Bugs, erreurs de la plateforme, problèmes de performance. - "Général" : Questions qui ne rentrent pas dans les autres catégories. - Source for Prompt : Changez pour
-
Connectez le
Chat Model: Comme dans la leçon précédente, connectez un nœudOpenAI Chat Modelà votreAI Agent, en utilisant votre credential et le modèlegpt-4o-mini. -
Exécutez le workflow.
Analyser le Résultat
Après l'exécution, inspectez la sortie du nœud AI Agent. Vous devriez voir dans la section Message un objet JSON parfaitement formaté, quelque chose comme :
{
"categorie": "Compte",
"priorite": "Haute",
"resume": "L'utilisateur ne peut pas se connecter car la réinitialisation du mot de passe ne fonctionne pas."
}
C'est là que la puissance se révèle : vous avez transformé un texte en données structurées, prêtes à être utilisées par le reste de votre workflow.
4. Router la Logique avec un Nœud Switch
Maintenant que nous avons une sortie structurée, nous pouvons l'utiliser pour la logique de branchement.
-
Nœud
Edit Fields(ouSet) : La sortie du LLM est une chaîne de caractères (string) qui ressemble à un JSON. Nous devons la convertir en un véritable objet JSON. Ajoutez un nœudEdit Fieldsaprès l'agent.- Créez un champ, par exemple
classified_data. - Activez l'expression (
</>) pour ce champ. - Utilisez la fonction
JSON.parse()sur la sortie de l'agent. L'expression ressemblera à ceci :{{ JSON.parse($json.choices[0].message.content) }}. Assurez-vous de bien cibler le champ contenant la réponse du LLM.
- Créez un champ, par exemple
-
Nœud
Switch: Ajoutez un nœudSwitchaprès leEdit Fields. Vous l'avez déjà utilisé dans le Module 1.- Dans Property to Match, ciblez la priorité que nous venons d'extraire :
{{ $json.classified_data.priorite }}. - Routing Rules : Ajoutez une règle pour le cas
Haute.- Operation :
Equals - Value :
Haute
- Operation :
- Dans Property to Match, ciblez la priorité que nous venons d'extraire :
Le nœud Switch aura maintenant deux sorties : une pour la Haute priorité et une Default pour les autres. Vous pouvez y connecter des actions spécifiques (par exemple, un nœud de notification Slack pour les cas urgents).
Voici à quoi peuvent ressembler de tels workflows dans un contexte réel :


Conclusion
Félicitations ! Vous avez considérablement augmenté la capacité de vos workflows n8n. Vous êtes passé de l'envoi de simples prompts à l'utilisation d'un LLM pour une tâche d'analyse structurée.
Points clés à retenir :
- Il existe deux méthodes principales pour la classification : le nœud spécialisé
Text Classifierpour les cas simples, et le prompt engineering avec unAI Agentpour une flexibilité maximale. - La technique la plus importante pour des automatisations IA robustes est de contraindre le LLM à répondre dans un format de données strict, comme le JSON.
- Le System Prompt est votre outil principal pour définir le rôle, les règles, et le format de sortie attendu du LLM.
- Une fois les données classifiées et structurées (via
JSON.parse()), vous pouvez utiliser des nœuds standards commeSwitchpour appliquer une logique métier complexe.
Dans la prochaine leçon, nous aborderons une autre tâche fondamentale du traitement de texte : utiliser un LLM pour résumer des documents longs ou des fils d'emails. Cette compétence, combinée à la classification, vous permettra de construire des systèmes de gestion documentaire et de communication extrêmement sophistiqués.