JeCabrera commited on
Commit
26757f7
·
verified ·
1 Parent(s): 162ed93

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -13
app.py CHANGED
@@ -57,14 +57,31 @@ cta_types = {
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,6 +94,9 @@ def generate_texts(number_of_texts, target_audience, product, call_to_action, te
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,20 +111,17 @@ def generate_texts(number_of_texts, target_audience, product, call_to_action, te
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,7 +145,7 @@ st.markdown("""
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,8 +173,8 @@ with col1:
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>
 
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
  "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
 
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
  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
  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>