JeCabrera commited on
Commit
ffc7a35
·
verified ·
1 Parent(s): acbe7bc

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +78 -53
app.py CHANGED
@@ -255,6 +255,60 @@ def process_model_response(prompt, max_retries=3):
255
  return False
256
 
257
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
  if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'):
259
  is_first_message = len(st.session_state.messages) == 0
260
 
@@ -288,61 +342,32 @@ if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'):
288
  update_chat_memory()
289
 
290
  process_model_response(prompt) # Mantener dentro del bloque
291
-
292
- def handle_example_click(prompt_text):
293
- st.session_state.update({
294
- 'show_examples': False,
295
- 'messages': [],
296
- 'current_chat_id': str(time.time()),
297
- 'gemini_history': [],
298
- 'chat_title': 'Nuevo Chat'
299
- })
300
-
301
- if st.session_state.current_chat_id not in st.session_state.chats_in_memory:
302
- st.session_state.chats_in_memory[st.session_state.current_chat_id] = {
303
- 'messages': [],
304
- 'gemini_history': [],
305
- 'title': 'Nuevo Chat'
306
- }
307
-
308
- try:
309
- title_response = st.session_state.model.generate_content(
310
- f"Título para consulta de ejemplo: '{prompt_text}' (máximo 4 palabras)"
311
- )
312
- st.session_state.chat_title = title_response.text.strip()[:25]
313
- except Exception as e:
314
- st.session_state.chat_title = f"Ejemplo-{time.strftime('%H:%M')}"
315
 
316
- st.session_state.chats_in_memory[st.session_state.current_chat_id]['title'] = st.session_state.chat_title
317
- process_model_response(prompt_text)
318
-
319
- # Mostrar ejemplos solo si show_examples es True y no hay mensajes previos
320
- if st.session_state.show_examples and not st.session_state.messages:
321
- # Usar contenedor para ancho completo
322
- main_container = st.container()
323
 
324
- with main_container:
325
- st.title("💡 RoboCopy - Asistente de PUVs")
326
- st.markdown("### Tu experto en crear Propuestas Únicas de Valor que convierten")
327
-
328
- st.markdown("### 🎯 Prueba estos ejemplos:")
329
-
330
- # Usar columnas con proporción ajustada para mejor distribución
331
- col1, col2 = st.columns([1, 1])
332
-
333
- with col1:
334
- if st.button("¿Cuál es la mejor fórmula para mi PUV? 🤔", use_container_width=True):
335
- handle_example_click("¿Podrías explicarme cuál es la mejor fórmula para crear una PUV efectiva para mi negocio?")
336
-
337
- if st.button("Necesito una PUV para mi tienda online 🛍️", use_container_width=True):
338
- handle_example_click("Quiero crear una PUV para mi tienda online de ropa sostenible dirigida a mujeres de 25-35 años")
339
 
340
- with col2:
341
- if st.button("Ayúdame a mejorar mi PUV actual ", use_container_width=True):
342
- handle_example_click("¿Podrías ayudarme a mejorar mi PUV actual para hacerla más persuasiva?")
343
-
344
- if st.button("Crear PUV para servicios profesionales 👔", use_container_width=True):
345
- handle_example_click("Necesito una PUV para mi servicio de consultoría en marketing digital")
346
 
347
- st.markdown("---")
 
 
 
 
 
348
 
 
 
255
  return False
256
 
257
 
258
+ def handle_example_click(prompt_text):
259
+ st.session_state.update({
260
+ 'show_examples': False,
261
+ 'messages': [],
262
+ 'current_chat_id': str(time.time()),
263
+ 'gemini_history': [],
264
+ 'chat_title': 'Nuevo Chat'
265
+ })
266
+
267
+ if st.session_state.current_chat_id not in st.session_state.chats_in_memory:
268
+ st.session_state.chats_in_memory[st.session_state.current_chat_id] = {
269
+ 'messages': [],
270
+ 'gemini_history': [],
271
+ 'title': 'Nuevo Chat'
272
+ }
273
+
274
+ try:
275
+ title_response = st.session_state.model.generate_content(
276
+ f"Título para consulta de ejemplo: '{prompt_text}' (máximo 4 palabras)"
277
+ )
278
+ st.session_state.chat_title = title_response.text.strip()[:25]
279
+ except Exception as e:
280
+ st.session_state.chat_title = f"Ejemplo-{time.strftime('%H:%M')}"
281
+
282
+ st.session_state.chats_in_memory[st.session_state.current_chat_id]['title'] = st.session_state.chat_title
283
+ process_model_response(prompt_text)
284
+
285
+ # ===== SECCIÓN DE EJEMPLOS =====
286
+ if st.session_state.show_examples and not st.session_state.messages:
287
+ main_container = st.container()
288
+ with main_container:
289
+ st.title("💡 RoboCopy - Asistente de PUVs")
290
+ st.markdown("### Tu experto en crear Propuestas Únicas de Valor que convierten")
291
+ st.markdown("### 🎯 Prueba estos ejemplos:")
292
+
293
+ col1, col2 = st.columns([1, 1])
294
+
295
+ with col1:
296
+ if st.button("¿Cuál es la mejor fórmula para mi PUV? 🤔", use_container_width=True):
297
+ handle_example_click("¿Podrías explicarme cuál es la mejor fórmula para crear una PUV efectiva para mi negocio?")
298
+
299
+ if st.button("Necesito una PUV para mi tienda online 🛍️", use_container_width=True):
300
+ handle_example_click("Quiero crear una PUV para mi tienda online de ropa sostenible dirigida a mujeres de 25-35 años")
301
+
302
+ with col2:
303
+ if st.button("Ayúdame a mejorar mi PUV actual ✨", use_container_width=True):
304
+ handle_example_click("¿Podrías ayudarme a mejorar mi PUV actual para hacerla más persuasiva?")
305
+
306
+ if st.button("Crear PUV para servicios profesionales 👔", use_container_width=True):
307
+ handle_example_click("Necesito una PUV para mi servicio de consultoría en marketing digital")
308
+
309
+ st.markdown("---")
310
+
311
+ # ===== BLOQUE PRINCIPAL =====
312
  if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'):
313
  is_first_message = len(st.session_state.messages) == 0
314
 
 
342
  update_chat_memory()
343
 
344
  process_model_response(prompt) # Mantener dentro del bloque
345
+
346
+ if st.session_state.show_examples and not st.session_state.messages:
347
+ # Usar contenedor para ancho completo
348
+ main_container = st.container()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
 
350
+ with main_container:
351
+ st.title("💡 RoboCopy - Asistente de PUVs")
352
+ st.markdown("### Tu experto en crear Propuestas Únicas de Valor que convierten")
 
 
 
 
353
 
354
+ st.markdown("### 🎯 Prueba estos ejemplos:")
355
+
356
+ # Usar columnas con proporción ajustada para mejor distribución
357
+ col1, col2 = st.columns([1, 1])
358
+
359
+ with col1:
360
+ if st.button("¿Cuál es la mejor fórmula para mi PUV? 🤔", use_container_width=True):
361
+ handle_example_click("¿Podrías explicarme cuál es la mejor fórmula para crear una PUV efectiva para mi negocio?")
 
 
 
 
 
 
 
362
 
363
+ if st.button("Necesito una PUV para mi tienda online 🛍️", use_container_width=True):
364
+ handle_example_click("Quiero crear una PUV para mi tienda online de ropa sostenible dirigida a mujeres de 25-35 años")
 
 
 
 
365
 
366
+ with col2:
367
+ if st.button("Ayúdame a mejorar mi PUV actual ✨", use_container_width=True):
368
+ handle_example_click("¿Podrías ayudarme a mejorar mi PUV actual para hacerla más persuasiva?")
369
+
370
+ if st.button("Crear PUV para servicios profesionales 👔", use_container_width=True):
371
+ handle_example_click("Necesito una PUV para mi servicio de consultoría en marketing digital")
372
 
373
+ st.markdown("---")