JeCabrera commited on
Commit
54799ab
·
verified ·
1 Parent(s): 078824e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -17
app.py CHANGED
@@ -26,7 +26,7 @@ def get_mention_instruction(product_mention, product):
26
  return f"Introduce el producto '{product}' usando una metáfora, conectándolo simbólicamente a la solución que necesita el lector."
27
  return ""
28
 
29
- # Ejemplos de bullets por tipo
30
  benefit_types = {
31
  "directos": [
32
  "El armario del baño es el mejor lugar para guardar medicamentos, ¿verdad? Incorrecto. Es el peor. Los hechos están en la página 10.",
@@ -50,8 +50,8 @@ benefit_types = {
50
  ],
51
  }
52
 
53
- # Función para generar bullets de beneficios
54
- def generate_benefits(number_of_benefits, target_audience, product, call_to_action, temperature):
55
  product_mention = get_random_product_mention()
56
  mention_instruction = get_mention_instruction(product_mention, product)
57
 
@@ -77,27 +77,26 @@ def generate_benefits(number_of_benefits, target_audience, product, call_to_acti
77
  )
78
 
79
  # Selección aleatoria de tipos de beneficios, manteniendo variedad en la salida
80
- selected_types = random.sample(list(benefit_types.keys()), min(number_of_benefits, len(benefit_types)))
81
 
82
- # Crear un mensaje para el modelo que incluye los beneficios generados según los tipos seleccionados
83
  benefits_instruction = (
84
- f"Tu tarea es crear {number_of_benefits} bullets efectivos dirigidos a {target_audience}, "
85
  f"para promover {call_to_action} usando la siguiente mención: {mention_instruction}. "
86
- "Asegúrate de que cada bullet siga la estructura de 'Beneficio + Conector + Valor', "
87
- "como los ejemplos proporcionados anteriormente."
88
  )
89
 
90
- # Generar el resultado utilizando el modelo con la instrucción de beneficios específica
91
  try:
92
  response = model.generate_content([benefits_instruction])
93
 
94
  # Extraer el texto de la respuesta
95
- generated_benefits = response.candidates[0].content.parts[0].text.strip()
96
 
97
  # Retornar el resultado
98
- return generated_benefits
99
  except Exception as e:
100
- raise ValueError(f"Error al generar los beneficios: {str(e)}")
101
 
102
  # Configurar la interfaz de usuario con Streamlit
103
  st.set_page_config(page_title="Quick Prompt", layout="wide")
@@ -137,7 +136,7 @@ with col1:
137
  target_audience = st.text_input("¿Quién es tu público objetivo?", placeholder="Ejemplo: Estudiantes Universitarios")
138
  product = st.text_input("¿Qué producto tienes en mente?", placeholder="Ejemplo: Curso de Inglés")
139
  call_to_action = st.text_input("¿Qué acción deseas que tomen?", placeholder="Ejemplo: Inscribirse al curso")
140
- number_of_benefits = st.selectbox("Número de bullets", options=[1, 2, 3, 4, 5,6,7,8,9,10], index=2)
141
  temperature = st.slider("Creatividad", min_value=0.0, max_value=1.0, value=0.5, step=0.1)
142
 
143
  # Botón de enviar
@@ -148,14 +147,14 @@ if submit:
148
  if target_audience and product and call_to_action:
149
  try:
150
  # Obtener la respuesta del modelo
151
- generated_benefits = generate_benefits(number_of_benefits, target_audience, product, call_to_action, temperature)
152
  col2.markdown(f"""
153
  <div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
154
- <h4>Mira los beneficios generados:</h4>
155
- <p style="font-size: 22px;">{generated_benefits}</p>
156
  </div>
157
  """, unsafe_allow_html=True)
158
  except Exception as e:
159
- st.error(f"Error al generar los beneficios: {str(e)}")
160
  else:
161
  st.error("Por favor, completa todos los campos.")
 
26
  return f"Introduce el producto '{product}' usando una metáfora, conectándolo simbólicamente a la solución que necesita el lector."
27
  return ""
28
 
29
+ # Ejemplos de bullets
30
  benefit_types = {
31
  "directos": [
32
  "El armario del baño es el mejor lugar para guardar medicamentos, ¿verdad? Incorrecto. Es el peor. Los hechos están en la página 10.",
 
50
  ],
51
  }
52
 
53
+ # Función para generar bullets
54
+ def generate_bullets(number_of_bullets, target_audience, product, call_to_action, temperature):
55
  product_mention = get_random_product_mention()
56
  mention_instruction = get_mention_instruction(product_mention, product)
57
 
 
77
  )
78
 
79
  # Selección aleatoria de tipos de beneficios, manteniendo variedad en la salida
80
+ selected_types = random.sample(list(benefit_types.keys()), min(number_of_bullets, len(benefit_types)))
81
 
82
+ # Crear un mensaje para el modelo que incluye los bullets generados según los tipos seleccionados
83
  benefits_instruction = (
84
+ f"Tu tarea es crear {number_of_bullets} bullets efectivos dirigidos a {target_audience}, "
85
  f"para promover {call_to_action} usando la siguiente mención: {mention_instruction}. "
86
+ "Asegúrate de que cada bullet siga la estructura de los ejemplos proporcionados anteriormente."
 
87
  )
88
 
89
+ # Generar el resultado utilizando el modelo con la instrucción de bullets específica
90
  try:
91
  response = model.generate_content([benefits_instruction])
92
 
93
  # Extraer el texto de la respuesta
94
+ generated_bullets = response.candidates[0].content.parts[0].text.strip()
95
 
96
  # Retornar el resultado
97
+ return generated_bullets
98
  except Exception as e:
99
+ raise ValueError(f"Error al generar los bullets: {str(e)}")
100
 
101
  # Configurar la interfaz de usuario con Streamlit
102
  st.set_page_config(page_title="Quick Prompt", layout="wide")
 
136
  target_audience = st.text_input("¿Quién es tu público objetivo?", placeholder="Ejemplo: Estudiantes Universitarios")
137
  product = st.text_input("¿Qué producto tienes en mente?", placeholder="Ejemplo: Curso de Inglés")
138
  call_to_action = st.text_input("¿Qué acción deseas que tomen?", placeholder="Ejemplo: Inscribirse al curso")
139
+ number_of_bullets = st.selectbox("Número de bullets", options=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], index=2)
140
  temperature = st.slider("Creatividad", min_value=0.0, max_value=1.0, value=0.5, step=0.1)
141
 
142
  # Botón de enviar
 
147
  if target_audience and product and call_to_action:
148
  try:
149
  # Obtener la respuesta del modelo
150
+ generated_bullets = generate_bullets(number_of_bullets, target_audience, product, call_to_action, temperature)
151
  col2.markdown(f"""
152
  <div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
153
+ <h4>Mira los bullets generados:</h4>
154
+ <p style="font-size: 22px;">{generated_bullets}</p>
155
  </div>
156
  """, unsafe_allow_html=True)
157
  except Exception as e:
158
+ st.error(f"Error al generar los bullets: {str(e)}")
159
  else:
160
  st.error("Por favor, completa todos los campos.")