menta360 commited on
Commit
886f598
·
verified ·
1 Parent(s): f200e68

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -10
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 de Mely
15
- SYSTEM_PROMPT = """Eres una mentora empática y reflexiva, especializada en acompañar a empleados en su camino hacia el bienestar laboral...
16
- [... tu prompt completo ...]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  """
18
 
 
19
  def chat_fn(message, history):
20
- full_prompt = SYSTEM_PROMPT
21
- for user, assistant in history:
22
- full_prompt += f"\nUsuario: {user}\nMentora: {assistant}"
23
- full_prompt += f"\nUsuario: {message}\nMentora:"
 
24
 
25
- response = model(full_prompt)
26
- return response.strip()
 
 
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__":