Update app.py
Browse files
app.py
CHANGED
@@ -218,90 +218,106 @@ story_formulas = {
|
|
218 |
}
|
219 |
}
|
220 |
|
221 |
-
def generate_headline_for_story(model, story, formula_type, product, target_audience, mood):
|
222 |
-
"""Función para generar un titular basado en la historia y la fórmula seleccionada"""
|
223 |
-
|
224 |
def generate_headline_for_story(model, story, formula_type, product, target_audience, mood):
|
225 |
"""Función para generar un titular basado en la historia"""
|
226 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
formula_prompts = {
|
228 |
"GPS": f"""
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
|
|
|
|
|
|
233 |
|
234 |
-
|
235 |
-
-
|
236 |
-
-
|
237 |
-
-
|
238 |
|
239 |
Historia a titular:
|
240 |
{story}
|
241 |
""",
|
242 |
-
"AIDA": f"""
|
243 |
-
INSTRUCCIONES: Genera ÚNICAMENTE UN TITULAR siguiendo la fórmula AIDA:
|
244 |
-
1. Atención: Usa un gancho poderoso
|
245 |
-
2. Interés: Desarrolla el gancho inicial
|
246 |
-
3. Deseo: Amplifica la emoción
|
247 |
-
4. Acción: Cierre natural
|
248 |
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
|
254 |
Historia a titular:
|
255 |
{story}
|
256 |
""",
|
257 |
-
"4U": f"""
|
258 |
-
INSTRUCCIONES: Genera ÚNICAMENTE UN TITULAR siguiendo la fórmula 4U:
|
259 |
-
1. Útil: Beneficio práctico
|
260 |
-
2. Urgente: Motivador de acción
|
261 |
-
3. Único: Diferenciador memorable
|
262 |
-
4. Ultra-específico: Detalles precisos
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
|
269 |
Historia a titular:
|
270 |
{story}
|
271 |
""",
|
272 |
-
"Númerica Suprema": f"""
|
273 |
-
INSTRUCCIONES: Genera ÚNICAMENTE UN TITULAR siguiendo la Fórmula Numérica Suprema:
|
274 |
-
1. Artículo plural (Los/Las)
|
275 |
-
2. Número específico
|
276 |
-
3. Adjetivo emocional
|
277 |
-
4. Palabra clave en plural
|
278 |
-
5. Razón
|
279 |
-
6. Promesa
|
280 |
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
|
286 |
Historia a titular:
|
287 |
{story}
|
288 |
"""
|
289 |
}
|
290 |
|
291 |
-
# Usar el prompt predeterminado si la fórmula no está en el diccionario
|
292 |
headline_prompt = formula_prompts.get(formula_type, f"""
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
-
|
297 |
-
-
|
298 |
-
-
|
299 |
-
-
|
300 |
-
|
301 |
-
IMPORTANTE:
|
302 |
-
- Retorna SOLO el titular, sin explicaciones
|
303 |
-
- No uses etiquetas ni números
|
304 |
-
- No expliques la fórmula usada
|
305 |
|
306 |
Historia a titular:
|
307 |
{story}
|
|
|
218 |
}
|
219 |
}
|
220 |
|
|
|
|
|
|
|
221 |
def generate_headline_for_story(model, story, formula_type, product, target_audience, mood):
|
222 |
"""Función para generar un titular basado en la historia"""
|
223 |
|
224 |
+
system_prompt = """Eres un experto copywriter especializado en crear titulares persuasivos.
|
225 |
+
IMPORTANTE:
|
226 |
+
- Genera SOLO UN TITULAR
|
227 |
+
- No incluyas explicaciones ni etiquetas
|
228 |
+
- El titular debe ser en negrita usando formato markdown: **titular**
|
229 |
+
- No uses números ni viñetas
|
230 |
+
- El titular debe fluir naturalmente con la historia
|
231 |
+
"""
|
232 |
+
|
233 |
formula_prompts = {
|
234 |
"GPS": f"""
|
235 |
+
{system_prompt}
|
236 |
+
|
237 |
+
INSTRUCCIONES PARA TITULAR GPS:
|
238 |
+
Crea un titular que combine:
|
239 |
+
1. Meta: Un resultado deseable para {target_audience}
|
240 |
+
2. Periodo: Una situación cotidiana o momento del día
|
241 |
+
3. Superación: Un conector con toque de humor (sin, incluso si, aunque, etc.)
|
242 |
|
243 |
+
El titular debe ser comprensible y ocasionalmente divertido, similar a estos ejemplos:
|
244 |
+
- "Domina el arte de la inversión mientras te cepillas los dientes incluso si confundes Excel con PowerPoint"
|
245 |
+
- "Aprende un nuevo idioma durante tus visitas al baño aunque solo sepas decir gracias y por favor"
|
246 |
+
- "Conquista el miedo a hablar en público durante el desayuno a pesar de que te tiemblen hasta las pestañas"
|
247 |
|
248 |
Historia a titular:
|
249 |
{story}
|
250 |
""",
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
|
252 |
+
"Númerica Suprema": f"""
|
253 |
+
{system_prompt}
|
254 |
+
|
255 |
+
INSTRUCCIONES PARA TITULAR NUMÉRICO:
|
256 |
+
Crea un titular que combine en este orden:
|
257 |
+
1. Artículo plural (Los/Las)
|
258 |
+
2. Número específico y creíble (3, 5, 7, 10)
|
259 |
+
3. Adjetivo emocional y descriptivo
|
260 |
+
4. Palabra clave en plural
|
261 |
+
5. Razón breve
|
262 |
+
6. Promesa concreta
|
263 |
+
|
264 |
+
El titular debe ser persuasivo y medible, similar a estos ejemplos:
|
265 |
+
- "Los 3 rituales probados para dormir mejor"
|
266 |
+
- "Las 5 rutinas efectivas para fortalecer tu core"
|
267 |
+
- "Los 7 hábitos esenciales para aumentar productividad"
|
268 |
|
269 |
Historia a titular:
|
270 |
{story}
|
271 |
""",
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
|
273 |
+
"AIDA": f"""
|
274 |
+
{system_prompt}
|
275 |
+
|
276 |
+
INSTRUCCIONES PARA TITULAR AIDA:
|
277 |
+
Crea un titular que combine estratégicamente:
|
278 |
+
1. Atención: Un gancho poderoso o dato sorprendente
|
279 |
+
2. Interés: Un desarrollo intrigante
|
280 |
+
3. Deseo: Una promesa emocional
|
281 |
+
4. Acción: Un cierre natural
|
282 |
+
|
283 |
+
El titular debe ser persuasivo y fluido, similar a estos ejemplos:
|
284 |
+
- "¿Sabías que el 83% de los emprendedores exitosos dedican menos de 2 horas al día a reuniones?"
|
285 |
+
- "La mayoría no sabe que existe una técnica de ventas basada en videojuegos"
|
286 |
+
- "Contrario a lo que piensas, el momento más productivo del día no es por la mañana"
|
287 |
|
288 |
Historia a titular:
|
289 |
{story}
|
290 |
""",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
|
292 |
+
"4U": f"""
|
293 |
+
{system_prompt}
|
294 |
+
|
295 |
+
INSTRUCCIONES PARA TITULAR 4U:
|
296 |
+
Crea un titular que combine estratégicamente:
|
297 |
+
1. Útil: Un beneficio práctico y tangible
|
298 |
+
2. Urgente: Un motivador de acción inmediata
|
299 |
+
3. Único: Un diferenciador memorable
|
300 |
+
4. Ultra-específico: Detalles precisos y medibles
|
301 |
+
|
302 |
+
El titular debe ser específico y orientado a resultados, similar a estos ejemplos:
|
303 |
+
- "Aprende 347 palabras en alemán memorizando solo 12 minutos al día mientras cocinas"
|
304 |
+
- "Cultiva 27 tipos de hierbas aromáticas en 1.5 metros cuadrados de balcón"
|
305 |
+
- "Automatiza 89% de tus tareas administrativas dedicando 31 minutos cada lunes"
|
306 |
|
307 |
Historia a titular:
|
308 |
{story}
|
309 |
"""
|
310 |
}
|
311 |
|
|
|
312 |
headline_prompt = formula_prompts.get(formula_type, f"""
|
313 |
+
{system_prompt}
|
314 |
+
|
315 |
+
Genera un titular persuasivo y memorable que:
|
316 |
+
- Conecte con {target_audience}
|
317 |
+
- Mantenga un tono {mood}
|
318 |
+
- Sea conciso y memorable
|
319 |
+
- No mencione directamente "{product}"
|
320 |
+
- Genere curiosidad y deseo de leer más
|
|
|
|
|
|
|
|
|
321 |
|
322 |
Historia a titular:
|
323 |
{story}
|