Sistema Inteligente de Clasificación de Urgencia de Tickets con IA
Ticket Urgency Classification
Sistema inteligente de clasificación de tickets basado en la arquitectura RAG, que recupera casos históricos mediante búsqueda vectorial y determina automáticamente el nivel de urgencia del ticket, con soporte para registro automático y alertas ante anomalías.
Resumen del flujo de trabajo
Se trata de un sistema inteligente de clasificación por nivel de urgencia de tickets de soporte basado en la arquitectura RAG (Generación Aumentada por Recuperación). Este flujo recibe datos de tickets mediante Webhook, almacena y recupera información histórica de tickets utilizando la base de datos vectorial Pinecone, realiza análisis inteligente y clasificación mediante el modelo de lenguaje grande Anthropic Claude, registra los resultados en Google Sheets y envía alertas a través de Slack en caso de errores.
Funcionalidades principales
Este flujo implementa un proceso automatizado de extremo a extremo para el manejo de tickets:
- Recepción y preprocesamiento de datos: Recibe datos de tickets mediante Webhook con método POST.
- Vectorización de texto: Divide el contenido del ticket en fragmentos y los convierte en representaciones vectoriales.
- Gestión de base de conocimientos: Almacena y recupera información relevante de tickets en la base de datos vectorial Pinecone.
- Análisis inteligente: Utiliza un agente de IA combinado con datos históricos para determinar el nivel de urgencia.
- Registro de resultados: Escribe automáticamente los resultados de la clasificación en Google Sheets.
- Monitoreo de excepciones: Envía alertas en tiempo real a Slack cuando ocurren errores.
Análisis detallado de nodos
1. Webhook Trigger (Nodo de entrada)
Tipo de nodo: n8n-nodes-base.webhook
Parámetros de configuración:
- Método HTTP: POST
- Ruta:
ticket-urgency-classification - Posición: (-300, 0)
Descripción funcional: Actúa como punto de entrada del flujo, escuchando los datos de tickets enviados por sistemas externos. Cuando se crea un nuevo ticket, su información se transmite a este nodo mediante una solicitud POST.
Conexiones de salida:
- Flujo principal hacia Text Splitter (división de texto)
- Conectado simultáneamente a Window Memory (memoria de sesión)
2. Text Splitter (Divisor de texto)
Tipo de nodo: @n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter
Parámetros de configuración:
- Tamaño de fragmento: 400 caracteres
- Solapamiento: 40 caracteres
- Posición: (-130, 0)
Descripción funcional: Divide el contenido del ticket recibido en fragmentos de tamaño fijo para facilitar su posterior procesamiento vectorial. El solapamiento de 40 caracteres garantiza la coherencia contextual y evita la pérdida de información crítica en los límites entre fragmentos.
Conexiones de salida:
- Salida principal hacia Embeddings
- Salida del divisor de texto hacia Pinecone Insert
3. Embeddings (Incrustaciones vectoriales)
Tipo de nodo: @n8n/n8n-nodes-langchain.embeddingsCohere
Parámetros de configuración:
- Modelo:
embed-english-v3.0 - Posición: (70, 0)
- Credenciales: API de Cohere
Descripción funcional: Convierte los fragmentos de texto en representaciones vectoriales utilizando el modelo de incrustación de Cohere. Este modelo está optimizado específicamente para texto en inglés y captura eficazmente la información semántica.
Conexiones de salida:
- Salida de incrustaciones conectada simultáneamente a:
- Pinecone Insert (almacenamiento de vectores)
- Pinecone Query (consulta de vectores)
4. Pinecone Insert (Almacenamiento vectorial - inserción)
Tipo de nodo: @n8n/n8n-nodes-langchain.vectorStorePinecone
Parámetros de configuración:
- Modo: insert (inserción)
- Nombre del índice:
ticket_urgency_classification - Posición: (270, 0)
- Credenciales: API de Pinecone
Descripción funcional: Almacena las representaciones vectoriales de los tickets en la base de datos vectorial Pinecone, construyendo así una base de conocimientos de tickets históricos. Cada nuevo ticket se añade al índice para su uso posterior en la recuperación de tickets similares.
5. Pinecone Query (Recuperación vectorial - consulta)
Tipo de nodo: @n8n/n8n-nodes-langchain.vectorStorePinecone
Parámetros de configuración:
- Nombre del índice:
ticket_urgency_classification - Posición: (270, -180)
- Credenciales: API de Pinecone
Descripción funcional: Recupera de la base de datos vectorial Pinecone los tickets históricos más similares al ticket actual. Mediante el cálculo de similitud vectorial, identifica casos semánticamente cercanos como referencia para la clasificación.
Conexión de salida: Salida del almacén vectorial hacia Vector Tool
6. Vector Tool (Herramienta vectorial)
Tipo de nodo: @n8n/n8n-nodes-langchain.toolVectorStore
Parámetros de configuración:
- Nombre de la herramienta: Pinecone
- Descripción: Vector context
- Posición: (450, -180)
Descripción funcional: Encapsula la capacidad de recuperación vectorial en una herramienta invocable por el Agente de IA. El agente puede consultar activamente información relevante de tickets históricos mediante esta herramienta.
Conexión de salida: Salida de la herramienta de IA hacia RAG Agent
7. Window Memory (Memoria de ventana deslizante)
Tipo de nodo: @n8n/n8n-nodes-langchain.memoryBufferWindow
Versión: 1.3
Posición: (450, -40)
Descripción funcional: Proporciona al Agente de IA una memoria a corto plazo que conserva el contexto de las interacciones recientes. Esto permite al agente comprender las relaciones contextuales en conversaciones multivuelta.
Conexión de salida: Salida de la memoria de IA hacia RAG Agent
8. Chat Model (Modelo de lenguaje)
Tipo de nodo: @n8n/n8n-nodes-langchain.lmChatAnthropic
Posición: (450, -340)
Credenciales: API de Anthropic
Descripción funcional: Utiliza el modelo de lenguaje grande Anthropic Claude como motor de razonamiento del agente. Claude interpreta el contenido del ticket, analiza casos históricos relevantes y determina el nivel de urgencia.
Conexión de salida: Salida del modelo de lenguaje de IA hacia RAG Agent
9. RAG Agent (Agente de generación aumentada por recuperación)
Tipo de nodo: @n8n/n8n-nodes-langchain.agent
Parámetros de configuración:
- Tipo de prompt: define
- Texto: "Handle data"
- Mensaje del sistema: "You are an assistant for Ticket Urgency Classification"
- Posición: (720, -40)
Descripción funcional: Nodo central de toma de decisiones del flujo. Este agente integra el modelo de lenguaje, la herramienta de recuperación vectorial y el sistema de memoria, permitiéndole:
- Analizar el contenido y características del ticket actual
- Invocar la herramienta vectorial para recuperar casos históricos similares
- Tomar decisiones inteligentes considerando el contexto memorizado
- Generar el resultado de clasificación por nivel de urgencia del ticket
Conexiones de salida:
- Salida principal hacia Append Sheet
- Salida de errores hacia Slack Alert
10. Append Sheet (Registro de datos)
Tipo de nodo: n8n-nodes-base.googleSheets
Parámetros de configuración:
- Operación: append (añadir)
- ID del documento: SHEET_ID
- Nombre de la hoja: Log
- Mapeo de columnas: Status
- Posición: (930, -40)
- Credenciales: API OAuth2 de Google Sheets
Descripción funcional: Añade automáticamente los resultados de clasificación del agente a la hoja de registro en Google Sheets. Esto proporciona un historial auditado, facilitando el análisis posterior y la optimización del modelo.
11. Slack Alert (Alerta de errores)
Tipo de nodo: n8n-nodes-base.slack
Parámetros de configuración:
- Canal: #alerts
- Plantilla del mensaje: "Ticket Urgency Classification error: {$json.error.message}"
- Posición: (930, 120)
- Credenciales: API de Slack
Descripción funcional: Nodo de manejo de errores del flujo. Cuando el RAG Agent encuentra una excepción durante su ejecución, envía automáticamente los detalles del error al canal #alerts de Slack, asegurando que el equipo pueda responder y corregir el problema oportunamente.
12. Sticky Note (Nota explicativa)
Tipo de nodo: n8n-nodes-base.stickyNote
Parámetros de configuración:
- Contenido: "Placeholder for Ticket Urgency Classification"
- Altura: 530px
- Anchura: 1100px
- Color: 5
- Posición: (-480, -240)
Descripción funcional: Nota explicativa visual que proporciona documentación sobre el flujo de trabajo.
Análisis del flujo de datos
Flujo principal
- Recepción de tickets → Webhook Trigger recibe datos externos de tickets
- Procesamiento de texto → Text Splitter divide en fragmentos → Embeddings vectoriza
- Almacenamiento de conocimiento → Pinecone Insert guarda vectores en la base de datos
- Recuperación de similitudes → Pinecone Query recupera casos históricos relevantes
- Análisis inteligente → RAG Agent analiza integralmente y clasifica
- Registro de resultados → Append Sheet escribe en Google Sheets
Flujos auxiliares
- Memoria contextual: Webhook → Window Memory → RAG Agent
- Invocación de herramientas: Pinecone Query → Vector Tool → RAG Agent
- Soporte del modelo: Chat Model → RAG Agent
- Manejo de excepciones: RAG Agent (onError) → Slack Alert
Pila tecnológica
- Motor de flujo de trabajo: n8n
- Base de datos vectorial: Pinecone
- Modelo de incrustación: Cohere embed-english-v3.0
- Modelo de lenguaje: Anthropic Claude
- Almacenamiento de datos: Google Sheets
- Sistema de notificaciones: Slack
- Patrón arquitectónico: RAG (Generación Aumentada por Recuperación)
Características destacadas
- Inteligencia: Utiliza IA para determinar automáticamente el nivel de urgencia de los tickets, reduciendo la intervención manual.
- Conciencia contextual: Mejora la precisión de la clasificación mediante la recuperación de casos históricos similares.
- Escalabilidad: A medida que se procesan más tickets, la base de conocimientos se enriquece automáticamente, mejorando continuamente el rendimiento del modelo.
- Trazabilidad: Todos los resultados de clasificación se registran en Google Sheets, facilitando auditorías y análisis posteriores.
- Alta fiabilidad: Las alertas automáticas de errores garantizan la estabilidad operativa del sistema.
Casos de uso
- Derivación automática de tickets de soporte
- Priorización de tickets de incidencias en operaciones IT
- Evaluación del nivel de urgencia en comentarios de clientes
- Enrutamiento inteligente de solicitudes de soporte
- Cualquier escenario que requiera clasificación automatizada de texto