El sistema completo, en tus propios servidores.

El sistema completo,
en tus propios servidores.

Flask, RabbitMQ, Qdrant, Docling y Grafana desplegados en tu infraestructura. Tus alumnos lo usan por web, Telegram o WhatsApp —sin que un solo dato salga de tu red.

Para CIO / Rector

En términos de negocio: tus datos en tu CPD, integrado con tu LMS en semanas, sin dependencia de ningún proveedor cloud. Tu institución es dueña de la tecnología.

Flask API + JWT
RabbitMQ + Qdrant
Docling OCR
Telegram · WhatsApp · Web
Grafana · Prometheus

Cada consulta sigue el mismo camino.
Ningún paso sin registro.

Pulsa en cada paso para ver qué ocurre exactamente. Desde que el alumno escribe hasta que recibe la respuesta, todo es trazable.

¿Cómo llega la respuesta al alumno?

En menos de dos segundos, una consulta pasa por siete servicios distintos. Aquí está el detalle.

Nueve piezas que encajan.
Sin dependencias externas en producción.

Cada servicio tiene una responsabilidad clara. Se comunican entre sí mediante contratos autenticados y pueden escalar —o fallar— sin arrastrar al resto del sistema.

React · Vite · i18next

Frontend React + Vite

La interfaz web de la plataforma: chat, carga de documentos y panel de administración, en español, catalán e inglés desde el primer día.

Flask · JWT · SQLAlchemy

Backend Flask API

El centro de mando. Autentica a los usuarios, decide qué agente responde cada consulta y coordina con el LMS, Qdrant y la cola de mensajes.

Python · OpenAI · Agentes

Orquestador Multi-Agente

Analiza la intención de cada consulta y la envía al agente correcto: uno para el LMS, otro para documentos, otro para soporte. Cada decisión queda registrada.

Docling · BM25 · Qdrant

Worker RAG

Procesa los documentos que suben los docentes: aplica OCR, extrae texto y tablas, genera vectores y los indexa en Qdrant para que el asistente pueda consultarlos.

Flask · Webhooks · Tokens internos

Bots Telegram & WhatsApp

Los puntos de entrada por mensajería. Reciben los mensajes de los alumnos, los envían al Backend y devuelven la respuesta al canal de origen.

AMQP · Dead-letter queue

RabbitMQ

La cola que garantiza que ningún trabajo se pierde. Si llegan cien documentos a la vez, RabbitMQ los ordena y los procesa uno a uno sin saturar el sistema.

Vector DB · BM25 · Colecciones

Qdrant

La memoria del asistente. Guarda el conocimiento institucional en forma de vectores y lo recupera en milisegundos cuando llega una consulta sobre documentos.

SQL · pgvector · Historial

PostgreSQL

La fuente de verdad. Aquí viven los usuarios, el historial de conversaciones, el estado de cada documento procesado y los logs de auditoría.

Prometheus · Grafana · PromQL

Prometheus + Grafana

Los ojos del sistema. Prometheus recoge métricas de cada componente cada 15 segundos; Grafana las convierte en dashboards que cualquier responsable técnico puede leer.

Tecnología elegida por sus resultados,
no por estar de moda.

Cada herramienta lleva años en producción y opera sin conexión a servicios externos. Esto no es un prototipo —es el stack que aguanta el día a día de una institución.

Recuperación de Conocimiento

RAG Engine: Docling + BM25

Cuando un alumno pregunta sobre los apuntes del tema 3, el sistema los encuentra aunque no use las palabras exactas del documento.

  • Docling convierte PDFs, DOCX, HTML y PPTX en texto estructurado, incluyendo tablas
  • BM25 híbrido: encuentra resultados por palabras clave y por significado a la vez
  • Cada asignatura tiene su propia colección en Qdrant para evitar mezclas de contexto
  • El chunking respeta la estructura del documento, así las respuestas tienen contexto real
  • RabbitMQ amortigua picos de subidas: cien documentos a la vez no saturan el sistema
IA Distribuida

Orquestación Multi-Agente

El sistema sabe si el alumno pregunta por sus tareas, sus notas o por el contenido de un PDF. Y lo envía al agente que sabe responder eso.

  • Un LLM clasifica la intención: tareas, exámenes, horarios, eventos o documentos
  • Cada tipo de consulta tiene su propio agente especializado, sin solapamientos
  • El proveedor LMS del alumno (Moodle, Canvas…) se resuelve automáticamente
  • Cada decisión del orquestador queda registrada en PostgreSQL para auditoría
  • Si un agente falla, el orquestador reintenta o escala sin interrumpir al usuario
Observabilidad Total

Prometheus + Grafana

Sabes qué responde el sistema, cuánto tarda y cuánto cuesta —todo desde tus propios servidores, sin enviar datos a ningún servicio externo.

  • 8 dashboards en tiempo real: LLM, agentes, orquestador, colas, Qdrant y documentos
  • Prometheus recolecta métricas del Backend, los Bots y los Workers cada 15 segundos
  • Alertas automáticas antes de que los usuarios noten el problema
  • Historial inmutable de interacciones en PostgreSQL para auditorías de compliance
  • Logs de acceso exportables para el equipo de privacidad y el DPO
Powered by Grafana

Ocho paneles.
Todo lo que necesitas para operar con confianza.

Desde el coste de cada llamada al LLM hasta el estado de la cola de documentos. Grafana desplegado en tus servidores, sin datos externos.

Uso del LLM

¿Cuántas llamadas hace el sistema y cuánto tardan? Este panel muestra latencias P50/P95/P99 por tipo de consulta para que puedas controlar el gasto de inferencia.

Agentes en producción

Cuántas consultas resuelve cada agente, qué porcentaje responde correctamente y cuánto tarda. Detectas en segundos si un agente se está degradando.

Precisión del Orquestador

¿Cuántas consultas llegan ambiguas? ¿Cuántas activan el fallback? Este panel mide si el clasificador LLM sigue siendo preciso o necesita reajuste.

Tiempos de Respuesta

Latencia de los endpoints HTTP y de cada agente. Identifica si el cuello de botella está en el Backend, en el LMS o en Qdrant antes de que lo note el usuario.

Actividad por Canal

Web, Telegram y WhatsApp, comparados en el mismo panel. Cuántos mensajes por minuto y qué porcentaje da error en cada canal.

Cola RabbitMQ

Cuántos documentos esperan procesarse y si la dead-letter queue está creciendo. Una alerta aquí es señal de que el Worker RAG necesita atención.

Motor RAG (Qdrant)

Consultas por colección, latencia de búsqueda vectorial y calidad del routing. Si las respuestas del asistente se vuelven lentas, aquí verás por qué.

Pipeline de Documentos

Cuántos documentos se procesan por hora, qué formatos y cuántos fallan. Detecta problemas en el OCR antes de que el docente los note.

Tu institución ya tiene un LMS.
Witty Boxes se conecta el primer día.

No importa si usas Moodle o Canvas: el sistema detecta el proveedor de cada alumno automáticamente. Cambiar de LMS en el futuro no requiere tocar el motor de IA.

¿Cómo funciona el Provider Factory?

Cada usuario tiene guardado su LMS en el campo lms_type. Cuando hace una consulta, el sistema elige el conector correcto en ese momento —sin lógica condicional dispersa en el código.

M
Producción

Moodle

REST API + Web Services

El conector más completo. Accede a tareas, exámenes, horarios, eventos y recursos descargables en tiempo real. Usado en producción desde la primera versión.

C
Producción

Canvas

Canvas API v1

Mismo nivel de integración que Moodle: cursos, calificaciones, módulos y perfil del alumno. El orquestador no sabe ni le importa cuál de los dos está detrás.

B
En desarrollo

Blackboard

Blackboard REST API

En desarrollo activo. La arquitectura ya tiene el espacio reservado: añadir Blackboard no requiere cambios en el orquestador ni en los agentes.

Todos los endpoints LMS son agnósticos

Los endpoints del Backend como /lms/events o /lms/subjects funcionan igual independientemente del LMS. El conector correcto se resuelve internamente según el usuario autenticado.

Solicita una auditoría técnica
de tu infraestructura.

Analizamos la viabilidad de despliegue On-Premise en tu entorno y diseñamos la arquitectura adaptada a tu institución.

Volver al inicio