Skip to content

DmeshellHeredia/itla-chatbot

Repository files navigation

🎓 ITLA Chatbot

Python Gradio AI Status License


🚀 Descripción

Asistente virtual del Instituto Tecnológico de Las Américas (ITLA) construido completamente en Python.

Este chatbot utiliza un enfoque híbrido de procesamiento de lenguaje natural (NLP) combinando:

  • Matching por keywords
  • Fuzzy matching (RapidFuzz)
  • Búsqueda semántica (Sentence Transformers + FAISS)

💡 100% local, sin APIs externas, sin costos.


✨ Demo

🌐 Interfaz Web

python app.py

👉 https://huggingface.co/spaces/Dmeshell99/itla-chatbot

🖥️ Consola

python cli.py

🧠 Características principales

  • 🔎 NLP híbrido (keyword + fuzzy + semantic)
  • ⚡ Respuestas rápidas offline
  • 🎯 Sistema de confianza (high / medium / low / fallback)
  • 💬 UI moderna con Gradio
  • 🧪 Tests automatizados (28/28 ✅)
  • 📚 Base de conocimiento escalable
  • 🌙 Dark / Light mode

📊 Métricas del proyecto

  • 13 intents
  • 180+ variantes de preguntas
  • 28 casos de prueba
  • 100% tests passing
  • ✅ Manejo de errores y fallback inteligente

🏗️ Arquitectura

itla_chatbot/
├── config.py
├── knowledge_base.py
├── preprocessor.py
├── matcher.py
├── semantic.py
├── chatbot.py
├── app.py
├── cli.py
└── test_chatbot.py

⚙️ Pipeline NLP

Input
 ↓
Preprocessing
 ↓
Keyword Matching
 ↓
Fuzzy Matching
 ↓
Semantic Search (optional)
 ↓
Score fusion
 ↓
Confidence evaluation
 ↓
Response / Fallback

📦 Instalación

pip install -r requirements.txt

Modo ligero:

pip install gradio rapidfuzz

▶️ Uso

Web UI (recomendado)

python app.py

CLI

python cli.py

Tests

python test_chatbot.py

📈 Sistema de confianza

Nivel Score Acción
high ≥ 65 Respuesta directa
medium ≥ 35 Respuesta contextual
low ≥ 15 Sugerencia aproximada
fallback < 15 No entendió la pregunta

➕ Extensión del sistema

Agregar nuevos intents:

  1. Editar knowledge_base.py
  2. Añadir nuevo objeto en INTENTS
  3. (Opcional) regenerar embeddings:
rm -rf .cache

📌 Ejemplos de preguntas

  • ¿Qué es el ITLA?
  • ¿Cómo me inscribo?
  • ¿Qué carreras ofrecen?
  • ¿Dónde están ubicados?
  • ¿Qué es Moodle?
  • ¿Tienen cursos cortos?
  • ¿Hay becas disponibles?

🌍 Fuente


👨‍💻 Autor

Micha Heredia 🔗 https://github.com/DmeshellHeredia


🧩 Futuras mejoras

  • Mejoras de UI/UX
  • Más intents y cobertura semántica
  • Integración con base de datos
  • Logging y analytics

📜 Licencia

MIT License

About

AI-powered chatbot for ITLA using hybrid NLP (keyword, fuzzy, semantic) — 100% local, no APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages