Este proyecto es un chatbot desarrollado con Rasa y ejecutado dentro de contenedores Docker, utilizando Docker Compose.
Este chatbot está orientado a brindar información académica de la carrera de Ingeniería en Sistemas Inteligentes con foco en las áreas de énfasis y sus materias clave. Integra datos estructurados del archivo data/plan_estudios.json y expone respuestas a consultas frecuentes mediante acciones personalizadas en actions/actions.py.
- Consultar el plan de estudios y materias por semestre.
- Listar áreas de énfasis disponibles (p. ej., IA y Robótica, Interacción y Videojuegos, Ciberseguridad, Desarrollo Web y Multiplataforma).
- Mostrar las materias asociadas a una área de énfasis.
- Dar detalles de una materia de énfasis: objetivo, contenidos, créditos, semestre, tipo, horas, prerrequisitos y clave.
- Responder información general de la carrera: nombre, duración y posibles resultados/roles profesionales.
- El NLU usa
data/nlu.ymlpara identificar intenciones comopreguntar_plan_estudios,preguntar_prerequisitos,preguntar_areas_enfasis, etc. - La conversación se guía con
data/stories.ymlydata/rules.yml. - Las respuestas y slots se definen en
domain.yml. - La lógica de negocio vive en
actions/actions.py, que leedata/plan_estudios.jsony realiza búsquedas tolerantes a errores tipográficos (RapidFuzz) para encontrar materias y áreas por nombre o clave. - Se puede interactuar vía consola (
rasa shell) o mediante la interfaz web (index.html+script.js).
Ejecuta el siguiente comando en tu terminal:
git clone https://github.com/SirAxLord/Chatbot.git
cd ChatbotPara construir la imagen y ejecutar todos los servicios en segundo plano:
docker-compose up -d --buildPara entrenar el modelo del chatbot:
docker-compose run --rm rasa rasa trainDespués de entrenar o hacer cambios en las acciones personalizadas:
docker-compose restart actionsPara usar el chatbot desde la terminal:
docker-compose run --rm rasa rasa shellEl proyecto incluye una interfaz web para interactuar con el chatbot:
- Asegúrate de que el servidor de Rasa esté en ejecución.
- Abre el archivo
index.htmldesde tu explorador de archivos. - Comenzará a funcionar automáticamente mientras el servicio de Rasa esté activo.
Nota: La interfaz web solo funciona cuando los servicios de Rasa están en ejecución.
Para detener todos los contenedores en ejecución:
docker-compose down- Asegúrate de tener Docker y Docker Compose instalados en tu computadora.
- Si tienes problemas con permisos, prueba ejecutando los comandos con
sudoen Linux. - Para ver los logs de los servicios en ejecución:
docker-compose logs -f
- Para reconstruir completamente las imágenes:
docker-compose build --no-cache
¡Listo! 🚀 Ahora puedes usar el chatbot tanto desde la terminal como desde la interfaz web. 😃