Sobre el proyecto
LearnMate AI es un compañero de estudio de IA que organiza el material de estudio en Espacios y Proyectos, procesa PDFs subidos y proporciona un Tutor que responde preguntas solo del contenido subido con citas de página. Cuando el material no cubre una pregunta, el sistema devuelve explícitamente una respuesta de "evidencia insuficiente". Un Cuestionario se enfoca en conceptos débiles, califica respuestas de texto libre con retroalimentación y actualiza las puntuaciones de Dominio por concepto. Trabajos en segundo plano generan Recomendaciones basadas en el propio material del usuario, y un panel de Crecimiento muestra tendencias.
La arquitectura combina un frontend React/Vite con una API Node.js/Express y trabajadores en segundo plano BullMQ. Los PDFs se procesan por página: extracción de texto, fragmentación, incrustaciones a través de BAAI/bge-small-en-v1.5 en pgvector y extracción de conceptos. Las respuestas del Tutor utilizan búsqueda de similitud sobre los fragmentos de un proyecto y JSON validado por esquema para garantizar la suficiencia de evidencia. La selección de preguntas del Cuestionario puntúa conceptos por brecha de dominio, falta de práctica, actualidad y errores. El Dominio utiliza un historial de solo anexión con una ponderación 60/40 de nueva evidencia.
La pila incluye Prisma con PostgreSQL (Neon) y pgvector, Redis (Upstash) para colas de trabajos, Groq para llamadas LLM, Hugging Face para incrustaciones alojadas, Cloudinary para almacenamiento de PDFs y autenticación JWT con cookies solo HTTP. La configuración local requiere Node.js 20+, una base de datos Postgres habilitada para pgvector, Redis y claves API para Groq, Hugging Face y Cloudinary. El proyecto incluye pruebas de integración contra infraestructura real que cubren aislamiento entre usuarios, acceso de administrador, matemáticas de dominio, selección adaptativa, fundamentación del tutor e idempotencia del procesamiento de material. La implementación está documentada para Vercel (frontend) y Render (API y trabajador combinados).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.