JeCabrera commited on
Commit
4d3ea69
·
verified ·
1 Parent(s): 26757f7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -30
app.py CHANGED
@@ -57,31 +57,14 @@ cta_types = {
57
  ]
58
  }
59
 
60
- # Frases iniciales para usar en los textos generados
61
- initial_phrases = [
62
- "Y si a ti te gustaría aprender todo esto…",
63
- "Así que…",
64
- "Si lo que quieres es llevarte todo, entonces...",
65
- "Y si lo que estás buscando es todo esto...",
66
- "Así que no esperes más...",
67
- "Si realmente quieres dar el siguiente paso...",
68
- "Y si ahora es el momento perfecto para actuar...",
69
- "Así que si deseas hacer realidad este cambio...",
70
- "Si tú también quieres formar parte de esto...",
71
- "Y si te imaginas disfrutando de todos estos beneficios...",
72
- "Así que, ¿por qué no empezar ahora?",
73
- "Si este es el impulso que estabas esperando...",
74
- "Y si el éxito está a solo un clic de distancia..."
75
- ]
76
-
77
  # Función para que el modelo elija automáticamente el tipo de CTA y el CTA específico
78
  def get_random_cta():
79
  cta_type = random.choice(list(cta_types.keys())) # Selección aleatoria del tipo de CTA
80
  cta = random.choice(cta_types[cta_type]) # Selección aleatoria del CTA dentro del tipo
81
  return cta
82
 
83
- # Nueva función para generar textos con frases iniciales
84
- def generate_texts_with_initial_phrase(number_of_texts, target_audience, product, call_to_action, temperature):
85
  product_mention = get_random_product_mention()
86
  mention_instruction = get_mention_instruction(product_mention, product)
87
 
@@ -94,9 +77,6 @@ def generate_texts_with_initial_phrase(number_of_texts, target_audience, product
94
  "response_mime_type": "text/plain",
95
  }
96
 
97
- # Crear una frase inicial al azar
98
- initial_phrase = random.choice(initial_phrases)
99
-
100
  # Configuración del modelo generativo y las instrucciones del sistema
101
  model = genai.GenerativeModel(
102
  model_name="gemini-1.5-flash", # Nombre del modelo que estamos utilizando
@@ -111,17 +91,20 @@ def generate_texts_with_initial_phrase(number_of_texts, target_audience, product
111
 
112
  # Crear un mensaje para el modelo que incluye los CTAs generados según los tipos seleccionados
113
  texts_instruction = (
114
- f"Tu tarea es generar {number_of_texts} combinaciones de textos. Cada texto debe comenzar con una frase inicial como '{initial_phrase}', seguida de un mensaje introductorio corto y atractivo, y un llamado a la acción relacionado con {call_to_action}. "
 
115
  f"Recuerda que el CTA debe tener la estructura 'Acción + conector + Valor', como los ejemplos proporcionados."
116
  )
117
-
118
  # Generar el resultado utilizando el modelo con la instrucción de CTA específica
119
  try:
120
  response = model.generate_content([texts_instruction])
121
 
122
- # Extraer el texto generado
123
- generated_texts = response.candidates[0].content.parts[0].text.strip()
124
- return f"{initial_phrase} {generated_texts}"
 
 
125
  except Exception as e:
126
  raise ValueError(f"Error al generar los textos: {str(e)}")
127
 
@@ -145,7 +128,7 @@ st.markdown("""
145
  text-transform: uppercase;
146
  border: 1px solid #000000;
147
  border-radius: 8px;
148
- display: block;
149
  margin: 0 auto;
150
  }
151
  div.stButton > button:hover {
@@ -173,8 +156,8 @@ with col1:
173
  if submit:
174
  if target_audience and product and call_to_action:
175
  try:
176
- # Llamar a la nueva función que incluye frases iniciales
177
- generated_texts = generate_texts_with_initial_phrase(number_of_texts, target_audience, product, call_to_action, temperature)
178
  col2.markdown(f"""
179
  <div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
180
  <h4>Mira la magia en acción:</h4>
 
57
  ]
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  # Función para que el modelo elija automáticamente el tipo de CTA y el CTA específico
61
  def get_random_cta():
62
  cta_type = random.choice(list(cta_types.keys())) # Selección aleatoria del tipo de CTA
63
  cta = random.choice(cta_types[cta_type]) # Selección aleatoria del CTA dentro del tipo
64
  return cta
65
 
66
+ # Función para generar los textos, incluyendo el texto introductorio y el CTA
67
+ def generate_texts(number_of_texts, target_audience, product, call_to_action, temperature):
68
  product_mention = get_random_product_mention()
69
  mention_instruction = get_mention_instruction(product_mention, product)
70
 
 
77
  "response_mime_type": "text/plain",
78
  }
79
 
 
 
 
80
  # Configuración del modelo generativo y las instrucciones del sistema
81
  model = genai.GenerativeModel(
82
  model_name="gemini-1.5-flash", # Nombre del modelo que estamos utilizando
 
91
 
92
  # Crear un mensaje para el modelo que incluye los CTAs generados según los tipos seleccionados
93
  texts_instruction = (
94
+ f"Tu tarea es generar {number_of_texts} combinaciones de textos. Cada texto debe comenzar con un mensaje introductorio corto y atractivo, seguido de un CTA relacionado con {call_to_action}. "
95
+ f"Puedes usar frases introductorias como 'Y si a ti te gustaría aprender todo esto...', pero asegúrate de que sea breve y poderosa. "
96
  f"Recuerda que el CTA debe tener la estructura 'Acción + conector + Valor', como los ejemplos proporcionados."
97
  )
98
+
99
  # Generar el resultado utilizando el modelo con la instrucción de CTA específica
100
  try:
101
  response = model.generate_content([texts_instruction])
102
 
103
+ # Extraer el texto de la respuesta
104
+ generated_texts = response.candidates[0].content.parts[0].text.strip() # Modificado aquí
105
+
106
+ # Retornar el resultado
107
+ return generated_texts
108
  except Exception as e:
109
  raise ValueError(f"Error al generar los textos: {str(e)}")
110
 
 
128
  text-transform: uppercase;
129
  border: 1px solid #000000;
130
  border-radius: 8px;
131
+ display: block;
132
  margin: 0 auto;
133
  }
134
  div.stButton > button:hover {
 
156
  if submit:
157
  if target_audience and product and call_to_action:
158
  try:
159
+ # Obtener la respuesta del modelo
160
+ generated_texts = generate_texts(number_of_texts, target_audience, product, call_to_action, temperature)
161
  col2.markdown(f"""
162
  <div style="border: 1px solid #000000; padding: 5px; border-radius: 8px; background-color: #ffffff;">
163
  <h4>Mira la magia en acción:</h4>