Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
from ctransformers import AutoModelForCausalLM
|
| 3 |
|
| 4 |
-
# Cargar modelo GGUF
|
| 5 |
model = AutoModelForCausalLM.from_pretrained(
|
| 6 |
"TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF",
|
| 7 |
model_file="tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf",
|
|
@@ -11,20 +11,51 @@ model = AutoModelForCausalLM.from_pretrained(
|
|
| 11 |
top_p=0.9
|
| 12 |
)
|
| 13 |
|
| 14 |
-
# Prompt
|
| 15 |
-
SYSTEM_PROMPT = """Eres una mentora empática y reflexiva, especializada en acompañar a empleados en su camino hacia el bienestar laboral..
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
"""
|
| 18 |
|
|
|
|
| 19 |
def chat_fn(message, history):
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
| 24 |
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
| 27 |
|
|
|
|
| 28 |
demo = gr.ChatInterface(fn=chat_fn, title="Mentora Mely", theme="soft", type="messages")
|
| 29 |
|
| 30 |
if __name__ == "__main__":
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
from ctransformers import AutoModelForCausalLM
|
| 3 |
|
| 4 |
+
# Cargar modelo GGUF (TinyLlama, 1.1B)
|
| 5 |
model = AutoModelForCausalLM.from_pretrained(
|
| 6 |
"TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF",
|
| 7 |
model_file="tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf",
|
|
|
|
| 11 |
top_p=0.9
|
| 12 |
)
|
| 13 |
|
| 14 |
+
# Prompt base para Mely
|
| 15 |
+
SYSTEM_PROMPT = """Eres una mentora empática y reflexiva, especializada en acompañar a empleados en su camino hacia el bienestar laboral. Las personas acudirán a ti para compartir inquietudes, dudas, bloqueos personales, situaciones difíciles o logros importantes.
|
| 16 |
+
|
| 17 |
+
Tu rol es facilitar que la persona amplíe su comprensión interna y su capacidad de respuesta ante lo que le ocurre, sin dar consejos ni realizar diagnósticos. Tu estilo es cercano, humano y respetuoso. Guías el diálogo haciendo una sola pregunta por mensaje.
|
| 18 |
+
|
| 19 |
+
Comienzas siempre con una pregunta aclaratoria general, como: “¿Qué es lo que te está produciendo esto?” o “Cuéntame con detalle qué te sucede?”
|
| 20 |
+
|
| 21 |
+
Evalúas si la persona sabe o no lo que le ocurre. Si sabe:
|
| 22 |
+
- Profundizas con preguntas concretas (¿Qué?, ¿Cuándo?, ¿Cómo?, ¿Cuánto?)
|
| 23 |
+
- Exploras intentos previos de solución
|
| 24 |
+
- Si hubo situaciones similares: preguntas cómo las resolvió y si puede aplicar esos recursos
|
| 25 |
+
- Si no las hubo: preguntas si en otro ámbito resolvió algo difícil
|
| 26 |
+
- Propones visualización positiva futura
|
| 27 |
+
|
| 28 |
+
Si no sabe qué le ocurre:
|
| 29 |
+
- Invitas a explorar lo que siente, piensa y percibe en el cuerpo
|
| 30 |
+
|
| 31 |
+
Si la persona dice “me siento mal” sin concretar:
|
| 32 |
+
- Guías con preguntas sobre frecuencia, intensidad, situaciones asociadas, pensamientos
|
| 33 |
+
|
| 34 |
+
Si identifica frustración, miedo o tristeza:
|
| 35 |
+
- Exploras cómo lo ha gestionado
|
| 36 |
+
- Rediriges al cuerpo y acompañas la sensación
|
| 37 |
+
- Refuerzas la desidentificación emocional
|
| 38 |
+
|
| 39 |
+
Si menciona estrés:
|
| 40 |
+
- Aclara que es un fenómeno amplio y exploras síntomas, causas, factores y posibles acciones
|
| 41 |
+
|
| 42 |
+
Nunca das consejos directos ni haces diagnósticos. Acompaña con una sola pregunta por turno para facilitar el descubrimiento de los propios recursos internos.
|
| 43 |
"""
|
| 44 |
|
| 45 |
+
# Función de respuesta
|
| 46 |
def chat_fn(message, history):
|
| 47 |
+
# Construir el prompt completo
|
| 48 |
+
prompt = SYSTEM_PROMPT.strip()
|
| 49 |
+
for user_msg, bot_msg in history:
|
| 50 |
+
prompt += f"\nUsuario: {user_msg.strip()}\nMentora: {bot_msg.strip()}"
|
| 51 |
+
prompt += f"\nUsuario: {message.strip()}\nMentora:"
|
| 52 |
|
| 53 |
+
# Generar respuesta
|
| 54 |
+
output = model(prompt)
|
| 55 |
+
response = output.split("Mentora:")[-1].strip()
|
| 56 |
+
return response
|
| 57 |
|
| 58 |
+
# Interfaz Gradio
|
| 59 |
demo = gr.ChatInterface(fn=chat_fn, title="Mentora Mely", theme="soft", type="messages")
|
| 60 |
|
| 61 |
if __name__ == "__main__":
|