Create README.MD
Browse files
README.MD
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
README: Multi-Model LLM Chatbot with Image Generation and Emotion Analysis
|
| 2 |
+
📋 Descripción del Proyecto
|
| 3 |
+
Este proyecto es un Chatbot Multi-Modelo que utiliza modelos alojados en Hugging Face para:
|
| 4 |
+
|
| 5 |
+
Responder preguntas utilizando un modelo LLM.
|
| 6 |
+
Recordar el historial de conversación para proporcionar respuestas más coherentes.
|
| 7 |
+
Analizar las emociones presentes en el texto ingresado por los usuarios.
|
| 8 |
+
Generar imágenes a partir de descripciones utilizando un modelo más ligero y eficiente.
|
| 9 |
+
El proyecto está construido con Gradio para proporcionar una interfaz gráfica interactiva y fácil de usar.
|
| 10 |
+
|
| 11 |
+
📦 Requisitos Previos
|
| 12 |
+
Para ejecutar este proyecto, asegúrate de tener lo siguiente instalado:
|
| 13 |
+
|
| 14 |
+
Python 3.8 o superior
|
| 15 |
+
Git
|
| 16 |
+
Librerías necesarias:
|
| 17 |
+
gradio
|
| 18 |
+
huggingface_hub
|
| 19 |
+
Instala las dependencias ejecutando:
|
| 20 |
+
|
| 21 |
+
bash
|
| 22 |
+
Copiar código
|
| 23 |
+
pip install -r requirements.txt
|
| 24 |
+
🔐 Configuración del Token de Hugging Face
|
| 25 |
+
Este proyecto utiliza modelos alojados en Hugging Face, por lo que necesitas un token de acceso para usarlos.
|
| 26 |
+
|
| 27 |
+
📋 Cómo Obtener un Token de Acceso
|
| 28 |
+
Inicia sesión en Hugging Face.
|
| 29 |
+
Genera un token de lectura.
|
| 30 |
+
Configura el token como variable de entorno en tu máquina:
|
| 31 |
+
Linux/macOS:
|
| 32 |
+
bash
|
| 33 |
+
Copiar código
|
| 34 |
+
export HF_API_TOKEN="TU_TOKEN"
|
| 35 |
+
Windows (PowerShell):
|
| 36 |
+
powershell
|
| 37 |
+
Copiar código
|
| 38 |
+
$env:HF_API_TOKEN="TU_TOKEN"
|
| 39 |
+
🚀 Instrucciones para Ejecutar el Proyecto
|
| 40 |
+
1️⃣ Clona el Repositorio
|
| 41 |
+
bash
|
| 42 |
+
Copiar código
|
| 43 |
+
git clone https://huggingface.co/tu_usuario/tu_repositorio
|
| 44 |
+
cd tu_repositorio
|
| 45 |
+
2️⃣ Instala las Dependencias
|
| 46 |
+
bash
|
| 47 |
+
Copiar código
|
| 48 |
+
pip install -r requirements.txt
|
| 49 |
+
3️⃣ Ejecuta la Aplicación
|
| 50 |
+
bash
|
| 51 |
+
Copiar código
|
| 52 |
+
python app.py
|
| 53 |
+
4️⃣ Abre la Interfaz en tu Navegador
|
| 54 |
+
La aplicación estará disponible en http://127.0.0.1:7860.
|
| 55 |
+
|
| 56 |
+
🧩 Diagrama de Flujo del Chatbot
|
| 57 |
+
El siguiente diagrama de flujo muestra cómo el chatbot selecciona el modelo adecuado y procesa la entrada del usuario:
|
| 58 |
+
|
| 59 |
+
mermaid
|
| 60 |
+
Copiar código
|
| 61 |
+
flowchart TD
|
| 62 |
+
Start["Usuario ingresa una consulta"] --> SelectModel{¿Selecciona acción?}
|
| 63 |
+
SelectModel -- "CHATBOT" --> LLMResponse["Respuesta generada por el modelo LLM"]
|
| 64 |
+
SelectModel -- "Generar Imagen" --> ImageResponse["Generación de imagen en progreso"]
|
| 65 |
+
SelectModel -- "Análisis de Emociones" --> EmotionResponse["Análisis de emociones en el texto"]
|
| 66 |
+
LLMResponse --> End["Respuesta devuelta al usuario"]
|
| 67 |
+
ImageResponse --> End
|
| 68 |
+
EmotionResponse --> End
|
| 69 |
+
📚 Ejemplo de Uso
|
| 70 |
+
🧑💻 Consulta al Chatbot:
|
| 71 |
+
Entrada:
|
| 72 |
+
|
| 73 |
+
text
|
| 74 |
+
Copiar código
|
| 75 |
+
¿Cuál es la capital de Francia?
|
| 76 |
+
Respuesta del modelo:
|
| 77 |
+
|
| 78 |
+
text
|
| 79 |
+
Copiar código
|
| 80 |
+
La capital de Francia es París.
|
| 81 |
+
📷 Generación de Imagen:
|
| 82 |
+
Descripción ingresada:
|
| 83 |
+
|
| 84 |
+
text
|
| 85 |
+
Copiar código
|
| 86 |
+
Un paisaje de montaña al atardecer con un lago.
|
| 87 |
+
Salida:
|
| 88 |
+
El modelo genera una imagen basada en la descripción proporcionada.
|
| 89 |
+
|
| 90 |
+
😊 Análisis de Emociones:
|
| 91 |
+
Texto ingresado:
|
| 92 |
+
|
| 93 |
+
text
|
| 94 |
+
Copiar código
|
| 95 |
+
Estoy muy feliz hoy, pero también un poco preocupado por lo que pueda pasar mañana.
|
| 96 |
+
Salida:
|
| 97 |
+
|
| 98 |
+
text
|
| 99 |
+
Copiar código
|
| 100 |
+
Alegría: 70.00%
|
| 101 |
+
Enojo: 10.00%
|
| 102 |
+
Miedo: 15.00%
|
| 103 |
+
Tristeza: 5.00%
|
| 104 |
+
⚙️ Instalación Opcional: Uso de un Entorno Virtual
|
| 105 |
+
Para mantener las dependencias aisladas y evitar conflictos, puedes crear un entorno virtual con los siguientes comandos:
|
| 106 |
+
|
| 107 |
+
Linux/macOS:
|
| 108 |
+
bash
|
| 109 |
+
Copiar código
|
| 110 |
+
python3 -m venv venv
|
| 111 |
+
source venv/bin/activate
|
| 112 |
+
Windows:
|
| 113 |
+
bash
|
| 114 |
+
Copiar código
|
| 115 |
+
python -m venv venv
|
| 116 |
+
.\venv\Scripts\activate
|
| 117 |
+
📄 Licencia
|
| 118 |
+
Este proyecto está bajo la licencia MIT. Puedes usarlo y modificarlo libremente bajo los términos de esta licencia.
|
| 119 |
+
|
| 120 |
+
✅ Modelos Utilizados
|
| 121 |
+
microsoft/Phi-3-mini-4k-instruct – Modelo de lenguaje para responder preguntas y recordar el contexto de la conversación.
|
| 122 |
+
bhadresh-savani/distilbert-base-uncased-emotion – Modelo para análisis de emociones.
|
| 123 |
+
runwayml/stable-diffusion-v1-5 – Modelo ligero para generación de imágenes.
|