JeCabrera commited on
Commit
dfb7bec
·
verified ·
1 Parent(s): 8750399

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -18
app.py CHANGED
@@ -15,10 +15,10 @@ def to_markdown(text):
15
  text = text.replace('•', ' *') # Convertir los puntos en listas con asteriscos
16
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
17
 
18
- def generate_headlines(number_of_headlines, target_audience, product, temperature):
19
  # Crear la configuración del modelo
20
  generation_config = {
21
- "temperature": temperature, # Usar el valor del slider aquí
22
  "top_p": 0.95,
23
  "top_k": 64,
24
  "max_output_tokens": 2048,
@@ -28,7 +28,7 @@ def generate_headlines(number_of_headlines, target_audience, product, temperatur
28
  model = genai.GenerativeModel(
29
  model_name="gemini-1.5-flash",
30
  generation_config=generation_config,
31
- system_instruction="Eres un copywriter de clase mundial, con experiencia en la creación de ganchos, titulares y líneas de asunto que capturan la atención de inmediato. Tu habilidad radica en comprender profundamente las emociones, deseos y desafíos de una audiencia específica, lo que te permite diseñar estrategias de marketing personalizadas que resuenan y motivan la acción. Sabes cómo utilizar estructuras probadas para atraer a tu audiencia objetivo, generando interés y logrando una conexión poderosa que impulsa los resultados deseados en campañas publicitarias y de contenido. Responde en español, en tipo lista numerada. Haz ganchos inusuales que atrapen la atención. No menciones el producto directamente en el gancho. No expliques el gancho o encabezado. Al responder escribe un encabezado que diga: 'Estos son tus encabezados para enganchar a {target_audience}'."
32
  )
33
 
34
  chat_session = model.start_chat(
@@ -36,35 +36,35 @@ def generate_headlines(number_of_headlines, target_audience, product, temperatur
36
  {
37
  "role": "user",
38
  "parts": [
39
- f"Tu tarea es crear {number_of_headlines} ganchos o encabezados titulares llamativos diseñados para {target_audience} con el fin de generar interés en {product}. "
40
- "La idea es que los ganchos sean de este tipo: "
41
- "1. Secretos: 'El secreto detrás de...'; "
42
- "2. Consejos: 'Consejos para que...'; "
43
- "3. Historias: 'La historia del...', 'Los misterios de...', 'La leyenda de...'; "
44
- "4. Deseos: 'Cómo...'; "
45
- "5. Listas: '10 razones por las que...'; "
46
- "6. Haciendo una pregunta: '¿Sabías que...'; "
47
- "7. Curiosidad: '¿Por qué...'."
48
  ],
49
  },
50
  ]
51
  )
52
 
53
- response = chat_session.send_message("Genera los titulares") # Enviar mensaje para obtener la respuesta
54
  return to_markdown(response.text) # Usar to_markdown para formatear la respuesta
55
 
56
  # Configurar la interfaz de usuario con Gradio
57
  iface = gr.Interface(
58
- fn=generate_headlines,
59
  inputs=[
60
- gr.Dropdown(choices=[str(i) for i in range(1, 11)], label="Número de Titulares", value="5"),
61
  gr.Textbox(label="Público Objetivo", placeholder="Ejemplo: Estudiantes Universitarios"),
62
  gr.Textbox(label="Producto", placeholder="Ejemplo: Curso de Inglés"),
63
  gr.Slider(minimum=0, maximum=1, value=0, step=0.1, label="Creatividad")
64
  ],
65
- outputs=gr.Markdown(label="Titulares Generados"), # Eliminado el placeholder
66
- title="Generador de Titulares",
67
- description="Usa el poder de Gemini AI para crear titulares atractivos. Ajusta los parámetros para generar titulares que capturen la atención de tu audiencia."
68
  )
69
 
70
  # Lanza la interfaz
 
15
  text = text.replace('•', ' *') # Convertir los puntos en listas con asteriscos
16
  return Markdown(textwrap.indent(text, '> ', predicate=lambda _: True))
17
 
18
+ def generate_bullets(number_of_bullets, target_audience, product, temperature):
19
  # Crear la configuración del modelo
20
  generation_config = {
21
+ "temperature": temperature,
22
  "top_p": 0.95,
23
  "top_k": 64,
24
  "max_output_tokens": 2048,
 
28
  model = genai.GenerativeModel(
29
  model_name="gemini-1.5-flash",
30
  generation_config=generation_config,
31
+ system_instruction="Eres un copywriter de clase mundial, con experiencia en la creación de beneficios que conectan síntomas con problemas. Tu habilidad radica en comprender profundamente las emociones, deseos y desafíos de una audiencia específica, lo que te permite diseñar estrategias de marketing personalizadas que resuenan y motivan la acción. Sabes cómo utilizar estructuras probadas para atraer a tu audiencia objetivo, generando interés y logrando una conexión poderosa que impulsa los resultados deseados en campañas publicitarias y de contenido. Responde en español, en tipo lista numerada. Haz bullets inusuales, creativos y fascinantes que atrapen la atención de los lectores. No menciones el producto directamente en los beneficios o bullets. No expliques los benficios o bullets. Al responder escribe un encabezado que diga: 'Estos son tus bullets para convencer a {target_audience}'."
32
  )
33
 
34
  chat_session = model.start_chat(
 
36
  {
37
  "role": "user",
38
  "parts": [
39
+ f"Tu tarea es crear {number_of_bullets} beneficios o bullets que conecten el síntoma con el problema que tienen los {target_audience}, y que incrementen el deseo de adquirir el {product}"
40
+ "La idea es que los bullets sean de este tipo: "
41
+ "* Bien y mal: 'Botiquín del baño es el mejor lugar para guardar la medicina, ¿verdad? Incorrecto Es el peor. Los hechos están en la página 10.' "
42
+ "* El mejor/El Peor: 'El mejor tiempo verbal que existe para dar la sensación a tus clientes que ya te han comprado.' "
43
+ "* Historias: 'La historia del...', 'Los misterios de...', 'La leyenda de...' "
44
+ "* Truco: 'Un sistema tonto para escribir copy sin tratar de convencer de que me compren.' "
45
+ "* El de la verdad: 'La verdad que nunca te han dicho en el colegio, la escuela, ni en tu casa de cómo vivir de la música.' "
46
+ "* Haciendo una pregunta: '¿Sabías que...' "
47
+ "* Cuando: '¿Cuándo es buena idea decirle a una chica que te gusta? Si no lo dices justo en ese momento, despídete de que la conozcas íntimamente.' "
48
  ],
49
  },
50
  ]
51
  )
52
 
53
+ response = chat_session.send_message("Genera los beneficios o bullets") # Enviar mensaje para obtener la respuesta
54
  return to_markdown(response.text) # Usar to_markdown para formatear la respuesta
55
 
56
  # Configurar la interfaz de usuario con Gradio
57
  iface = gr.Interface(
58
+ fn=generate_bullets,
59
  inputs=[
60
+ gr.Dropdown(choices=[str(i) for i in range(1, 11)], label="Número de Bullets", value="5"),
61
  gr.Textbox(label="Público Objetivo", placeholder="Ejemplo: Estudiantes Universitarios"),
62
  gr.Textbox(label="Producto", placeholder="Ejemplo: Curso de Inglés"),
63
  gr.Slider(minimum=0, maximum=1, value=0, step=0.1, label="Creatividad")
64
  ],
65
+ outputs=gr.Markdown(label="Bullets Generados"),
66
+ title="Generador de Bullets",
67
+ description="Usa el poder de Gemini AI para crear bullets atractivos que conecten síntomas con problemas. Ajusta los parámetros para generar bullets que capturen la atención de tu audiencia."
68
  )
69
 
70
  # Lanza la interfaz