Israelalcaide commited on
Commit
fd121bc
·
verified ·
1 Parent(s): 1411bfb
Files changed (1) hide show
  1. app.py +25 -21
app.py CHANGED
@@ -1,42 +1,41 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
- # Carga del modelo gratuito y rápido
5
  chatbot = pipeline(
6
  "text2text-generation",
7
- model="google/flan-t5-base",
8
  max_new_tokens=256,
9
  temperature=0.7
10
  )
11
 
12
- # Función de respuesta emocional
13
  def responder(mensaje, enfermedad):
14
  prompt = f"""
15
- Eres FamiIA, un asistente emocional diseñado para acompañar con empatía a familiares de personas que sufren {enfermedad}.
16
- Tu misión es ofrecer:
17
-
18
- - Apoyo emocional cálido
19
- - Guía práctica sin tecnicismos
20
- - Escucha activa
21
- - Orientación compasiva para situaciones difíciles
22
- - Palabras humanas, cuidadosas y comprensivas
23
 
24
  Mensaje del usuario:
25
  "{mensaje}"
26
  """
27
- output = chatbot(prompt)[0]["generated_text"]
28
- return output.strip()
29
 
30
- # Estilo personalizado para que sea acogedor
31
  custom_css = """
32
  body {
33
  background-color: #f8f9fa;
34
  font-family: 'Segoe UI', sans-serif;
35
- color: #343a40;
36
  }
37
  .gradio-container {
38
  max-width: 900px;
39
  margin: auto;
 
40
  }
41
  textarea, input, select {
42
  border-radius: 10px !important;
@@ -47,17 +46,23 @@ h1, h2, h3 {
47
  }
48
  """
49
 
50
- # Interfaz de usuario con diseño profesional y suave
51
  with gr.Blocks(css=custom_css) as demo:
52
  gr.Markdown("""
53
  # 🩵 FamiIA — Tu Compañera Emocional
54
 
55
- ### 💬 Un espacio seguro para familiares de personas con enfermedades raras
56
 
57
- FamiIA está diseñada para escucharte con empatía, darte apoyo sin juicios y ayudarte a sobrellevar lo difícil con cariño y guía práctica.
58
 
59
  ---
60
 
 
 
 
 
 
 
61
  """)
62
 
63
  enfermedad = gr.Dropdown(
@@ -67,7 +72,7 @@ FamiIA está diseñada para escucharte con empatía, darte apoyo sin juicios y a
67
  )
68
 
69
  entrada = gr.Textbox(
70
- placeholder="Escribe cómo te sientes o qué necesitas preguntar...",
71
  label="¿Qué quieres compartir hoy?"
72
  )
73
 
@@ -77,10 +82,9 @@ FamiIA está diseñada para escucharte con empatía, darte apoyo sin juicios y a
77
 
78
  def conversar(mensaje, enfermedad):
79
  if not mensaje.strip():
80
- return "Por favor, comparte cómo te sientes o qué necesitas."
81
  return responder(mensaje, enfermedad)
82
 
83
  boton.click(fn=conversar, inputs=[entrada, enfermedad], outputs=salida)
84
 
85
  demo.launch()
86
-
 
1
  import gradio as gr
2
  from transformers import pipeline
3
 
4
+ # Cargar el modelo más rápido y compatible
5
  chatbot = pipeline(
6
  "text2text-generation",
7
+ model="google/flan-t5-small",
8
  max_new_tokens=256,
9
  temperature=0.7
10
  )
11
 
12
+ # Función con prompt emocional
13
  def responder(mensaje, enfermedad):
14
  prompt = f"""
15
+ Eres FamiIA, un asistente emocional y empático. Acompañas a personas que cuidan o apoyan a alguien con {enfermedad}.
16
+ Tu tarea es brindar:
17
+ - apoyo emocional
18
+ - orientación práctica
19
+ - contención sin juicio
20
+ - respuestas cálidas, humanas y comprensivas
 
 
21
 
22
  Mensaje del usuario:
23
  "{mensaje}"
24
  """
25
+ resultado = chatbot(prompt)[0]["generated_text"]
26
+ return resultado.strip()
27
 
28
+ # Estilo visual amigable
29
  custom_css = """
30
  body {
31
  background-color: #f8f9fa;
32
  font-family: 'Segoe UI', sans-serif;
33
+ color: #333;
34
  }
35
  .gradio-container {
36
  max-width: 900px;
37
  margin: auto;
38
+ padding: 20px;
39
  }
40
  textarea, input, select {
41
  border-radius: 10px !important;
 
46
  }
47
  """
48
 
49
+ # Interfaz de Gradio
50
  with gr.Blocks(css=custom_css) as demo:
51
  gr.Markdown("""
52
  # 🩵 FamiIA — Tu Compañera Emocional
53
 
54
+ ### Un lugar seguro para familiares de personas con enfermedades raras.
55
 
56
+ Puedes hablar con FamiIA para sentirte escuchado/a, orientado/a o simplemente acompañado/a.
57
 
58
  ---
59
 
60
+ ### 💬 Ejemplos:
61
+
62
+ • Estoy agotada por cuidar a mi hijo con Ehlers-Danlos. ¿Qué hago?
63
+ • ¿Cómo puedo explicar esto a sus profesores?
64
+ • ¿Dónde puedo encontrar ayuda para mi bienestar emocional?
65
+ • Solo quiero escribir lo que siento hoy…
66
  """)
67
 
68
  enfermedad = gr.Dropdown(
 
72
  )
73
 
74
  entrada = gr.Textbox(
75
+ placeholder="Escribe cómo te sientes o qué necesitas...",
76
  label="¿Qué quieres compartir hoy?"
77
  )
78
 
 
82
 
83
  def conversar(mensaje, enfermedad):
84
  if not mensaje.strip():
85
+ return "Por favor, escribe cómo te sientes o qué necesitas preguntar."
86
  return responder(mensaje, enfermedad)
87
 
88
  boton.click(fn=conversar, inputs=[entrada, enfermedad], outputs=salida)
89
 
90
  demo.launch()