| 🧠 README: Multi-Model LLM Chatbot with Image Generation and Emotion Analysis | |
| 📋 Descripción del Proyecto | |
| Este proyecto es un Chatbot Multi-Modelo interactivo que utiliza modelos alojados en Hugging Face para: | |
| Responder preguntas utilizando un modelo LLM (Language Learning Model). | |
| Recordar el historial de conversación para proporcionar respuestas más coherentes. | |
| Analizar emociones en los textos proporcionados por los usuarios. | |
| Generar imágenes a partir de descripciones de texto utilizando un modelo ligero y eficiente. | |
| El proyecto está construido con Gradio para proporcionar una interfaz gráfica interactiva y fácil de usar. | |
| 📦 Requisitos Previos | |
| Antes de ejecutar este proyecto, asegúrate de tener lo siguiente instalado en tu máquina: | |
| Python 3.8 o superior | |
| Git | |
| Dependencias del proyecto: | |
| gradio | |
| huggingface_hub | |
| Instala las dependencias ejecutando: | |
| bash | |
| Copiar código | |
| pip install -r requirements.txt | |
| 🔐 Configuración del Token de Hugging Face | |
| Este proyecto utiliza modelos alojados en Hugging Face, por lo que necesitas un token de acceso para usarlos. | |
| 📋 Cómo Obtener un Token de Acceso | |
| Inicia sesión en Hugging Face. | |
| Genera un token de lectura. | |
| Configura el token como variable de entorno en tu máquina: | |
| Linux/macOS: | |
| bash | |
| Copiar código | |
| export HF_API_TOKEN="TU_TOKEN" | |
| Windows (PowerShell): | |
| powershell | |
| Copiar código | |
| $env:HF_API_TOKEN="TU_TOKEN" | |
| 🚀 Instrucciones para Ejecutar el Proyecto | |
| 1️⃣ Clona el Repositorio | |
| bash | |
| Copiar código | |
| git clone https://huggingface.co/tu_usuario/tu_repositorio | |
| cd tu_repositorio | |
| 2️⃣ Instala las Dependencias | |
| bash | |
| Copiar código | |
| pip install -r requirements.txt | |
| 3️⃣ Ejecuta la Aplicación | |
| bash | |
| Copiar código | |
| python app.py | |
| 4️⃣ Abre la Interfaz en tu Navegador | |
| La aplicación estará disponible en http://127.0.0.1:7860. | |
| 🧩 Diagrama de Flujo del Chatbot | |
| El siguiente diagrama de flujo muestra cómo el chatbot selecciona el modelo adecuado y procesa la entrada del usuario: | |
| mermaid | |
| Copiar código | |
| flowchart TD | |
| Start["Usuario ingresa una consulta"] --> SelectModel{¿Selecciona acción?} | |
| SelectModel -- "CHATBOT" --> LLMResponse["Respuesta generada por el modelo LLM"] | |
| SelectModel -- "Generar Imagen" --> ImageResponse["Generación de imagen en progreso"] | |
| SelectModel -- "Análisis de Emociones" --> EmotionResponse["Análisis de emociones en el texto"] | |
| LLMResponse --> End["Respuesta devuelta al usuario"] | |
| ImageResponse --> End | |
| EmotionResponse --> End | |
| Ejemplo de Uso | |
| En la carpeta assets se encuentran capturas de prueba de los 3 modelos utilizados | |
| ⚙️ Instalación Opcional: Uso de un Entorno Virtual | |
| Para mantener las dependencias aisladas y evitar conflictos, puedes crear un entorno virtual con los siguientes comandos: | |
| Linux/macOS: | |
| bash | |
| Copiar código | |
| python3 -m venv venv | |
| source venv/bin/activate | |
| Windows: | |
| bash | |
| Copiar código | |
| python -m venv venv | |
| .\venv\Scripts\activate | |
| ✅ Modelos Utilizados | |
| microsoft/Phi-3-mini-4k-instruct – Modelo de lenguaje para responder preguntas y recordar el contexto de la conversación. | |
| bhadresh-savani/distilbert-base-uncased-emotion – Modelo para análisis de emociones. | |
| stabilityai/stable-diffusion-2-1-base – Modelo ligero para generación de imágenes. | |
| 📄 Licencia | |
| Este proyecto está bajo la licencia MIT. Puedes usarlo y modificarlo libremente bajo los términos de esta licencia. | |