Système intelligent de classification de l'urgence des tickets basé sur l'IA
Ticket Urgency Classification
Système intelligent de classification des tickets reposant sur une architecture RAG. Il évalue automatiquement le niveau d'urgence des tickets en effectuant une recherche vectorielle parmi les cas historiques, et prend en charge l'enregistrement automatique ainsi que les alertes en cas d'anomalies.
Aperçu du workflow
Il s'agit d’un système intelligent de classification par niveau d’urgence des tickets d’assistance client, basé sur l’architecture RAG (Retrieval-Augmented Generation). Ce workflow reçoit les données des tickets via un webhook, stocke et récupère les informations historiques des tickets à l’aide de la base de données vectorielle Pinecone, effectue une analyse intelligente et une classification grâce au grand modèle linguistique Anthropic Claude, enregistre ensuite les résultats dans Google Sheets, et envoie une alerte via Slack en cas d’erreur.
Fonctionnalités principales
Ce workflow implémente un processus automatisé de bout en bout pour le traitement des tickets :
- Réception et prétraitement des données : Réception des données des tickets via un webhook POST
- Vectorisation du texte : Découpage du contenu du ticket en segments, puis conversion en représentations vectorielles
- Gestion de la base de connaissances : Stockage et récupération des informations pertinentes des tickets dans la base vectorielle Pinecone
- Analyse intelligente : Évaluation du niveau d’urgence à l’aide d’un agent IA combinant les données historiques
- Enregistrement des résultats : Écriture automatique des résultats de classification dans Google Sheets
- Surveillance des anomalies : Envoi en temps réel d’alertes Slack en cas d’erreur
Analyse détaillée des nœuds
1. Webhook Trigger (nœud d’entrée)
Type de nœud : n8n-nodes-base.webhook
Paramètres de configuration :
- Méthode HTTP : POST
- Chemin :
ticket-urgency-classification - Position : (-300, 0)
Description fonctionnelle : Point d’entrée du workflow, il écoute les données de tickets envoyées par des systèmes externes. Lorsqu’un nouveau ticket est créé, ses informations sont transmises à ce nœud via une requête POST.
Connexions en sortie :
- Flux principal vers Text Splitter (découpage du texte)
- Connexion simultanée vers Window Memory (mémoire de session)
2. Text Splitter (découpeur de texte)
Type de nœud : @n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter
Paramètres de configuration :
- Taille des segments : 400 caractères
- Chevauchement : 40 caractères
- Position : (-130, 0)
Description fonctionnelle : Découpe le texte du ticket reçu en blocs de taille fixe, facilitant ainsi le traitement vectoriel ultérieur. Le chevauchement de 40 caractères garantit la cohérence contextuelle et évite la perte d’informations critiques aux limites des segments.
Connexions en sortie :
- Sortie principale vers Embeddings
- Sortie « AI text splitter » vers Pinecone Insert
3. Embeddings (vectorisation)
Type de nœud : @n8n/n8n-nodes-langchain.embeddingsCohere
Paramètres de configuration :
- Modèle :
embed-english-v3.0 - Position : (70, 0)
- Identifiants : API Cohere
Description fonctionnelle : Convertit les segments de texte en représentations vectorielles à l’aide du modèle d’embedding de Cohere. Ce modèle, optimisé spécifiquement pour l’anglais, capture efficacement les informations sémantiques du texte.
Connexions en sortie :
- Sortie « AI embeddings » connectée simultanément à :
- Pinecone Insert (stockage des vecteurs)
- Pinecone Query (requête vectorielle)
4. Pinecone Insert (stockage vectoriel – insertion)
Type de nœud : @n8n/n8n-nodes-langchain.vectorStorePinecone
Paramètres de configuration :
- Mode : insert (insertion)
- Nom de l’index :
ticket_urgency_classification - Position : (270, 0)
- Identifiants : API Pinecone
Description fonctionnelle : Stocke les représentations vectorielles des tickets dans la base vectorielle Pinecone, constituant ainsi une base de connaissances historiques. Chaque nouveau ticket est ajouté à l’index afin d’être utilisé ultérieurement pour la recherche de tickets similaires.
5. Pinecone Query (recherche vectorielle – interrogation)
Type de nœud : @n8n/n8n-nodes-langchain.vectorStorePinecone
Paramètres de configuration :
- Nom de l’index :
ticket_urgency_classification - Position : (270, -180)
- Identifiants : API Pinecone
Description fonctionnelle : Interroge la base vectorielle Pinecone pour récupérer les tickets historiques les plus similaires au ticket actuel. Grâce au calcul de similarité vectorielle, il identifie des cas sémantiquement proches servant de référence pour la classification.
Connexion en sortie : Sortie « AI vector store » vers Vector Tool
6. Vector Tool (outil vectoriel)
Type de nœud : @n8n/n8n-nodes-langchain.toolVectorStore
Paramètres de configuration :
- Nom de l’outil : Pinecone
- Description : Vector context
- Position : (450, -180)
Description fonctionnelle : Encapsule la capacité de recherche vectorielle sous forme d’un outil utilisable par l’agent IA. L’agent peut ainsi interroger activement les informations relatives aux tickets historiques pertinents.
Connexion en sortie : Sortie « AI tool » vers RAG Agent
7. Window Memory (mémoire à fenêtre glissante)
Type de nœud : @n8n/n8n-nodes-langchain.memoryBufferWindow
Version : 1.3
Position : (450, -40)
Description fonctionnelle : Fournit à l’agent IA une mémoire à court terme, conservant le contexte des dernières interactions. Cela permet à l’agent de comprendre les relations contextuelles dans les dialogues multi-tours.
Connexion en sortie : Sortie « AI memory » vers RAG Agent
8. Chat Model (modèle linguistique)
Type de nœud : @n8n/n8n-nodes-langchain.lmChatAnthropic
Position : (450, -340)
Identifiants : API Anthropic
Description fonctionnelle : Utilise le grand modèle linguistique Anthropic Claude comme moteur de raisonnement de l’agent. Claude analyse le contenu du ticket, examine les cas historiques pertinents et évalue le niveau d’urgence.
Connexion en sortie : Sortie « AI language model » vers RAG Agent
9. RAG Agent (agent RAG – génération augmentée par récupération)
Type de nœud : @n8n/n8n-nodes-langchain.agent
Paramètres de configuration :
- Type d’invite : define
- Texte : "Handle data"
- Message système : "You are an assistant for Ticket Urgency Classification"
- Position : (720, -40)
Description fonctionnelle : Nœud central de prise de décision du workflow. Cet agent intègre le modèle linguistique, l’outil de recherche vectorielle et le système de mémoire, lui permettant de :
- Analyser le contenu et les caractéristiques du ticket actuel
- Appeler l’outil vectoriel pour récupérer des cas historiques similaires
- Prendre une décision intelligente en tenant compte du contexte mémorisé
- Produire le résultat de classification du niveau d’urgence du ticket
Connexions en sortie :
- Sortie principale vers Append Sheet
- Sortie d’erreur vers Slack Alert
10. Append Sheet (enregistrement des données)
Type de nœud : n8n-nodes-base.googleSheets
Paramètres de configuration :
- Opération : append (ajout)
- ID du document : SHEET_ID
- Nom de la feuille : Log
- Mappage des colonnes : Status
- Position : (930, -40)
- Identifiants : API OAuth2 Google Sheets
Description fonctionnelle : Ajoute automatiquement le résultat de classification de l’agent à la feuille de journalisation dans Google Sheets. Cela fournit un historique traçable, utile pour les analyses ultérieures et l’optimisation du modèle.
11. Slack Alert (alerte en cas d’erreur)
Type de nœud : n8n-nodes-base.slack
Paramètres de configuration :
- Canal : #alerts
- Modèle de message : "Ticket Urgency Classification error: {$json.error.message}"
- Position : (930, 120)
- Identifiants : API Slack
Description fonctionnelle : Nœud de gestion des erreurs du workflow. En cas d’anomalie lors de l’exécution de l’agent RAG, il envoie automatiquement les détails de l’erreur au canal Slack #alerts, permettant à l’équipe d’intervenir rapidement.
12. Sticky Note (note explicative)
Type de nœud : n8n-nodes-base.stickyNote
Paramètres de configuration :
- Contenu : "Placeholder for Ticket Urgency Classification"
- Hauteur : 530 px
- Largeur : 1100 px
- Couleur : 5
- Position : (-480, -240)
Description fonctionnelle : Note explicative visuelle fournissant une documentation descriptive du workflow.
Analyse des flux de données
Flux principal
- Réception du ticket → Webhook Trigger reçoit les données externes du ticket
- Traitement du texte → Text Splitter découpe → Embeddings vectorise
- Stockage des connaissances → Pinecone Insert enregistre les vecteurs dans la base
- Recherche de similarité → Pinecone Query récupère les cas historiques pertinents
- Analyse intelligente → RAG Agent analyse globalement et classe
- Enregistrement du résultat → Append Sheet écrit dans Google Sheets
Flux auxiliaires
- Mémoire contextuelle : Webhook → Window Memory → RAG Agent
- Appel d’outils : Pinecone Query → Vector Tool → RAG Agent
- Support du modèle : Chat Model → RAG Agent
- Gestion des erreurs : RAG Agent (onError) → Slack Alert
Stack technique
- Moteur de workflow : n8n
- Base de données vectorielle : Pinecone
- Modèle d’embedding : Cohere embed-english-v3.0
- Modèle linguistique : Anthropic Claude
- Stockage des données : Google Sheets
- Système de notification : Slack
- Modèle architectural : RAG (Retrieval-Augmented Generation)
Atouts et caractéristiques
- Intelligence : Évaluation automatique du niveau d’urgence des tickets grâce à l’IA, réduisant l’intervention humaine
- Sensibilité au contexte : Amélioration de la précision de classification via la récupération de cas historiques similaires
- Extensibilité : La base de connaissances s’enrichit automatiquement avec le volume croissant de tickets traités, améliorant continuellement les performances
- Traçabilité : Tous les résultats de classification sont enregistrés dans Google Sheets, facilitant l’audit et l’analyse
- Fiabilité élevée : Alertes automatiques en cas d’erreur, assurant la stabilité du système
Cas d’usage
- Acheminement automatique des tickets d’assistance
- Tri par priorité des tickets d’incidents IT
- Évaluation du degré d’urgence des retours clients
- Routage intelligent des demandes de support
- Toute situation nécessitant une classification automatisée de texte