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.
python app.py👉 https://huggingface.co/spaces/Dmeshell99/itla-chatbot
python cli.py- 🔎 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
- ✅ 13 intents
- ✅ 180+ variantes de preguntas
- ✅ 28 casos de prueba
- ✅ 100% tests passing
- ✅ Manejo de errores y fallback inteligente
itla_chatbot/
├── config.py
├── knowledge_base.py
├── preprocessor.py
├── matcher.py
├── semantic.py
├── chatbot.py
├── app.py
├── cli.py
└── test_chatbot.py
Input
↓
Preprocessing
↓
Keyword Matching
↓
Fuzzy Matching
↓
Semantic Search (optional)
↓
Score fusion
↓
Confidence evaluation
↓
Response / Fallback
pip install -r requirements.txtModo ligero:
pip install gradio rapidfuzzpython app.pypython cli.pypython test_chatbot.py| Nivel | Score | Acción |
|---|---|---|
| high | ≥ 65 | Respuesta directa |
| medium | ≥ 35 | Respuesta contextual |
| low | ≥ 15 | Sugerencia aproximada |
| fallback | < 15 | No entendió la pregunta |
Agregar nuevos intents:
- Editar
knowledge_base.py - Añadir nuevo objeto en
INTENTS - (Opcional) regenerar embeddings:
rm -rf .cache- ¿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?
Micha Heredia 🔗 https://github.com/DmeshellHeredia
- Mejoras de UI/UX
- Más intents y cobertura semántica
- Integración con base de datos
- Logging y analytics
MIT License