Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -88,14 +88,13 @@ def generate_ctas(number_of_ctas, target_audience, product, call_to_action, temp
|
|
| 88 |
"Recuerda que un buen CTA debe tener:\n\n"
|
| 89 |
"1. **Acción**: Palabras que invitan a realizar un movimiento (e.g., 'Descargar', 'Suscribirse').\n"
|
| 90 |
"2. **Valor**: Explicar el beneficio que el usuario obtendrá al realizar la acción.\n\n"
|
|
|
|
|
|
|
| 91 |
"Basate en estos ejemplos para realizar tu tarea de crear los CTA's:\n\n"
|
| 92 |
"**Ejemplos de CTAs en Voz Activa en Primera Persona:**\n"
|
| 93 |
"- 'Descargar la guía para mejorar mi productividad diaria'\n"
|
| 94 |
-
" - Acción: Descargo\n"
|
| 95 |
-
" - Valor: Mejorar mi productividad diaria\n\n"
|
| 96 |
"- 'Suscribirme para recibir actualizaciones y promociones exclusivas'\n"
|
| 97 |
-
"
|
| 98 |
-
" - Valor: Recibir actualizaciones y promociones exclusivas\n\n"
|
| 99 |
"Usa estos lineamientos para generar CTAs de alta conversión en español."
|
| 100 |
)
|
| 101 |
)
|
|
@@ -107,15 +106,18 @@ def generate_ctas(number_of_ctas, target_audience, product, call_to_action, temp
|
|
| 107 |
ctas_instruction = (
|
| 108 |
f"Tu tarea es crear {number_of_ctas} llamados a la acción efectivos dirigidos a {target_audience}, "
|
| 109 |
f"para promover {call_to_action}. Usa la siguiente mención: {mention_instruction}. "
|
| 110 |
-
"Asegúrate de que cada llamado a la acción siga la estructura de
|
| 111 |
"como los ejemplos proporcionados anteriormente."
|
| 112 |
)
|
| 113 |
|
| 114 |
# Generar el resultado utilizando el modelo con la instrucción de CTA específica
|
| 115 |
response = model.generate_content([ctas_instruction])
|
| 116 |
|
|
|
|
|
|
|
|
|
|
| 117 |
# Retornar el resultado
|
| 118 |
-
return
|
| 119 |
|
| 120 |
# Configurar la interfaz de usuario con Streamlit
|
| 121 |
st.set_page_config(page_title="Enchanted CTAs", layout="wide")
|
|
@@ -163,23 +165,17 @@ with col1:
|
|
| 163 |
|
| 164 |
# Mostrar los llamados a la acción generados
|
| 165 |
if submit:
|
| 166 |
-
if target_audience and product:
|
| 167 |
try:
|
| 168 |
# Obtener la respuesta del modelo
|
| 169 |
-
|
| 170 |
-
# Extraer el texto de los candidatos de la respuesta
|
| 171 |
-
generated_ctas = response.candidates[0].content.parts[0].text
|
| 172 |
col2.markdown(f"""
|
| 173 |
<div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
|
| 174 |
-
<h4>
|
| 175 |
<p>{generated_ctas}</p>
|
| 176 |
</div>
|
| 177 |
""", unsafe_allow_html=True)
|
| 178 |
except ValueError as e:
|
| 179 |
col2.error(f"Error: {str(e)}")
|
| 180 |
-
except IndexError as e:
|
| 181 |
-
col2.error("No se generaron llamados a la acción. Intenta de nuevo.")
|
| 182 |
-
except AttributeError as e:
|
| 183 |
-
col2.error(f"Error al acceder al contenido de la respuesta: {str(e)}")
|
| 184 |
else:
|
| 185 |
-
col2.error("Por favor, proporciona el público objetivo
|
|
|
|
| 88 |
"Recuerda que un buen CTA debe tener:\n\n"
|
| 89 |
"1. **Acción**: Palabras que invitan a realizar un movimiento (e.g., 'Descargar', 'Suscribirse').\n"
|
| 90 |
"2. **Valor**: Explicar el beneficio que el usuario obtendrá al realizar la acción.\n\n"
|
| 91 |
+
"Asegúrate de que cada llamado a la acción siga la estructura de 'Acción + conector + Valor', "
|
| 92 |
+
"y evita incluir explicaciones como 'Acción: Descubrir' o 'Valor: Un oasis de paz en medio del caos'.\n"
|
| 93 |
"Basate en estos ejemplos para realizar tu tarea de crear los CTA's:\n\n"
|
| 94 |
"**Ejemplos de CTAs en Voz Activa en Primera Persona:**\n"
|
| 95 |
"- 'Descargar la guía para mejorar mi productividad diaria'\n"
|
|
|
|
|
|
|
| 96 |
"- 'Suscribirme para recibir actualizaciones y promociones exclusivas'\n"
|
| 97 |
+
"- 'Unirme a la prueba gratis de 14 días y descubrir nuevas funciones'\n"
|
|
|
|
| 98 |
"Usa estos lineamientos para generar CTAs de alta conversión en español."
|
| 99 |
)
|
| 100 |
)
|
|
|
|
| 106 |
ctas_instruction = (
|
| 107 |
f"Tu tarea es crear {number_of_ctas} llamados a la acción efectivos dirigidos a {target_audience}, "
|
| 108 |
f"para promover {call_to_action}. Usa la siguiente mención: {mention_instruction}. "
|
| 109 |
+
"Asegúrate de que cada llamado a la acción siga la estructura de 'Acción + conector + Valor', "
|
| 110 |
"como los ejemplos proporcionados anteriormente."
|
| 111 |
)
|
| 112 |
|
| 113 |
# Generar el resultado utilizando el modelo con la instrucción de CTA específica
|
| 114 |
response = model.generate_content([ctas_instruction])
|
| 115 |
|
| 116 |
+
# Extraer el texto de la respuesta
|
| 117 |
+
generated_ctas = response.result.candidates[0].content.parts[0].text.strip()
|
| 118 |
+
|
| 119 |
# Retornar el resultado
|
| 120 |
+
return generated_ctas
|
| 121 |
|
| 122 |
# Configurar la interfaz de usuario con Streamlit
|
| 123 |
st.set_page_config(page_title="Enchanted CTAs", layout="wide")
|
|
|
|
| 165 |
|
| 166 |
# Mostrar los llamados a la acción generados
|
| 167 |
if submit:
|
| 168 |
+
if target_audience and product and call_to_action:
|
| 169 |
try:
|
| 170 |
# Obtener la respuesta del modelo
|
| 171 |
+
generated_ctas = generate_ctas(number_of_ctas, target_audience, product, call_to_action, temperature)
|
|
|
|
|
|
|
| 172 |
col2.markdown(f"""
|
| 173 |
<div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
|
| 174 |
+
<h4>¡Acción mágica en marcha!</h4>
|
| 175 |
<p>{generated_ctas}</p>
|
| 176 |
</div>
|
| 177 |
""", unsafe_allow_html=True)
|
| 178 |
except ValueError as e:
|
| 179 |
col2.error(f"Error: {str(e)}")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
else:
|
| 181 |
+
col2.error("Por favor, proporciona el público objetivo, el producto y la acción.")
|