Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -199,7 +199,24 @@ with col2:
|
|
| 199 |
if hasattr(st.session_state, 'product_service') and st.session_state.product_service:
|
| 200 |
product_name = st.session_state.product_service
|
| 201 |
else:
|
| 202 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 203 |
|
| 204 |
# Get the instruction using the formula
|
| 205 |
instruction = create_offer_instruction(
|
|
@@ -283,23 +300,28 @@ with col2:
|
|
| 283 |
lines = [line for line in lines if line.strip()]
|
| 284 |
response_text = '\n\n'.join(lines)
|
| 285 |
|
| 286 |
-
# Natural integration of product name in
|
| 287 |
if hasattr(st.session_state, 'product_service') and st.session_state.product_service:
|
| 288 |
product_name = st.session_state.product_service
|
| 289 |
|
| 290 |
# Split the text into lines to process each part of the formula
|
| 291 |
lines = response_text.split('\n')
|
| 292 |
|
| 293 |
-
# Process
|
| 294 |
-
for i in range(
|
| 295 |
-
#
|
| 296 |
-
if
|
| 297 |
-
lines[i] = lines[i].
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
lines[
|
| 302 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 303 |
|
| 304 |
# Rejoin the lines
|
| 305 |
response_text = '\n'.join(lines)
|
|
|
|
| 199 |
if hasattr(st.session_state, 'product_service') and st.session_state.product_service:
|
| 200 |
product_name = st.session_state.product_service
|
| 201 |
else:
|
| 202 |
+
# Generar un nombre creativo en lugar de usar "Producto/Servicio"
|
| 203 |
+
try:
|
| 204 |
+
creative_name_prompt = f"""Crea un nombre creativo y atractivo para un producto o servicio
|
| 205 |
+
basado en estas habilidades: {st.session_state.skills if hasattr(st.session_state, 'skills') else 'profesional'}.
|
| 206 |
+
El público objetivo es: {avatar_description}.
|
| 207 |
+
Responde SOLO con el nombre, sin explicaciones ni comillas."""
|
| 208 |
+
|
| 209 |
+
creative_name_response = model.generate_content(
|
| 210 |
+
creative_name_prompt,
|
| 211 |
+
generation_config=genai.GenerationConfig(temperature=0.8, max_output_tokens=30)
|
| 212 |
+
)
|
| 213 |
+
product_name = creative_name_response.text.strip().replace('"', '').replace("'", "")
|
| 214 |
+
|
| 215 |
+
# Si el nombre generado está vacío o es demasiado largo, usar un valor predeterminado
|
| 216 |
+
if not product_name or len(product_name) > 50:
|
| 217 |
+
product_name = "Sistema Profesional"
|
| 218 |
+
except Exception:
|
| 219 |
+
product_name = "Sistema Profesional"
|
| 220 |
|
| 221 |
# Get the instruction using the formula
|
| 222 |
instruction = create_offer_instruction(
|
|
|
|
| 300 |
lines = [line for line in lines if line.strip()]
|
| 301 |
response_text = '\n\n'.join(lines)
|
| 302 |
|
| 303 |
+
# Natural integration of product name in the response
|
| 304 |
if hasattr(st.session_state, 'product_service') and st.session_state.product_service:
|
| 305 |
product_name = st.session_state.product_service
|
| 306 |
|
| 307 |
# Split the text into lines to process each part of the formula
|
| 308 |
lines = response_text.split('\n')
|
| 309 |
|
| 310 |
+
# Process each line for proper product name integration
|
| 311 |
+
for i in range(len(lines)):
|
| 312 |
+
# For the second line (usually the promise in ALL CAPS), make product name uppercase
|
| 313 |
+
if i == 1 and st.session_state.formula_type == "Oferta Dorada":
|
| 314 |
+
lines[i] = lines[i].upper()
|
| 315 |
+
|
| 316 |
+
# Remove quotes around product name in all lines
|
| 317 |
+
lines[i] = lines[i].replace(f'"{product_name}"', product_name)
|
| 318 |
+
lines[i] = lines[i].replace(f"'{product_name}'", product_name)
|
| 319 |
+
|
| 320 |
+
# Ensure product name is properly capitalized in benefit descriptions
|
| 321 |
+
if i >= 2 and "sistema" in lines[i].lower() and product_name.lower() not in lines[i].lower():
|
| 322 |
+
lines[i] = lines[i].replace("sistema", product_name, 1)
|
| 323 |
+
if i >= 2 and "método" in lines[i].lower() and product_name.lower() not in lines[i].lower():
|
| 324 |
+
lines[i] = lines[i].replace("método", product_name, 1)
|
| 325 |
|
| 326 |
# Rejoin the lines
|
| 327 |
response_text = '\n'.join(lines)
|