JeCabrera commited on
Commit
2897c73
·
verified ·
1 Parent(s): cf439a4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -30
app.py CHANGED
@@ -18,39 +18,44 @@ def to_markdown(text):
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": 150, # Limitar a 150 tokens
25
- "response_mime_type": "text/plain",
26
- }
27
 
28
- model = genai.GenerativeModel(
29
- model_name="gemini-1.5-pro",
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 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(
35
- history=[
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}. La idea es que los ganchos sean de este tipo: "
40
- "1. Secretos: 'El secreto detrás de...'; "
41
- "2. Consejos: 'Consejos para que...'; "
42
- "3. Historias: 'La historia del...', 'Los misterios de...', 'La leyenda de...'; "
43
- "4. Deseos: 'Cómo...'; "
44
- "5. Listas: '10 razones por las que...'; "
45
- "6. Haciendo una pregunta: '¿Sabías que...'; "
46
- "7. Curiosidad: '¿Por qué...'.",
47
- ],
48
- },
49
- ]
50
- )
51
 
52
- response = chat_session.send_message("Genera los titulares") # Enviar mensaje para obtener la respuesta
53
- return to_markdown(response.text) # Usar to_markdown para formatear la respuesta
 
 
 
 
54
 
55
  # Configurar la interfaz de usuario con Gradio
56
  iface = gr.Interface(
 
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": 4096, # Limitar a la mitad de los tokens máximos permitidos
25
+ "response_mime_type": "text/plain",
26
+ }
27
 
28
+ try:
29
+ model = genai.GenerativeModel(
30
+ model_name="gemini-1.5-pro",
31
+ generation_config=generation_config,
32
+ 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 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}'.",
33
+ )
34
 
35
+ chat_session = model.start_chat(
36
+ history=[
37
+ {
38
+ "role": "user",
39
+ "parts": [
40
+ 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}. 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
+ except Exception as e:
57
+ # Captura cualquier error que ocurra durante la llamada a la API
58
+ return f"Error al generar los titulares: {str(e)}"
59
 
60
  # Configurar la interfaz de usuario con Gradio
61
  iface = gr.Interface(