JeCabrera commited on
Commit
c9dceb3
verified
1 Parent(s): c772753

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -950
app.py CHANGED
@@ -36,6 +36,7 @@ MODEL_ROLE = 'ai'
36
  AI_AVATAR_ICON = '馃' # Cambia el emoji por uno de robot para coincidir con tu logo
37
  USER_AVATAR_ICON = '馃懁' # A帽ade un avatar para el usuario
38
 
 
39
  # Definici贸n del prompt multipersona para el sistema
40
  SYSTEM_PROMPT = """
41
  Eres un equipo colaborativo de expertos de clase mundial trabajando juntos para crear Propuestas 脷nicas de Valor (PUVs) excepcionales que conviertan a la audiencia en clientes.
@@ -65,6 +66,10 @@ EL EQUIPO DE EXPERTOS:
65
  - Se especializa en crear PUVs que mantengan la atenci贸n y generen acci贸n
66
  - Crea elementos interactivos y ganchos de engagement
67
  - Asegura que las PUVs fluyan naturalmente y mantengan el inter茅s alto
 
 
 
 
68
  """
69
 
70
  # Mensaje de bienvenida mejorado
@@ -273,956 +278,27 @@ if prompt := st.chat_input('驴En qu茅 puedo ayudarte hoy?'):
273
  joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
274
  joblib.dump(st.session_state.gemini_history, f'data/{st.session_state.chat_id}-gemini_messages')
275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
  # Salir del bucle si la solicitud fue exitosa
277
  break
278
 
279
- except Exception as e:
280
- retry_count += 1
281
- if retry_count >= max_retries:
282
- # Mostrar mensaje de error si se agotan los reintentos
283
- with st.chat_message(name=MODEL_ROLE, avatar=AI_AVATAR_ICON):
284
- st.error(f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}")
285
-
286
- st.session_state.messages.append({
287
- 'role': MODEL_ROLE,
288
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
289
- 'avatar': AI_AVATAR_ICON,
290
- })
291
-
292
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
293
- else:
294
- # Esperar antes de reintentar (retroceso exponencial)
295
- wait_time = (2 ** retry_count) + (time.time() % 1)
296
- time.sleep(wait_time)
297
-
298
- IMPORTANTE: Cuando el usuario pregunte por tus funciones o capacidades, responde siempre en primera persona singular (yo hago, yo creo, yo analizo) de forma breve y concisa. No menciones que eres un equipo de expertos, sino un asistente especializado en crear PUVs.
299
-
300
- Si el usuario no proporciona informaci贸n suficiente sobre su producto/servicio o audiencia objetivo, solic铆tala de manera amable y directa.
301
- """
302
- st.session_state.messages.append({
303
- 'role': MODEL_ROLE,
304
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
305
- 'avatar': AI_AVATAR_ICON,
306
- })
307
-
308
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
309
- else:
310
- # Esperar antes de reintentar (retroceso exponencial)
311
- wait_time = (2 ** retry_count) + (time.time() % 1)
312
- time.sleep(wait_time)
313
- st.session_state.messages.append({
314
- 'role': MODEL_ROLE,
315
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
316
- 'avatar': AI_AVATAR_ICON,
317
- })
318
-
319
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
320
- else:
321
- # Esperar antes de reintentar (retroceso exponencial)
322
- wait_time = (2 ** retry_count) + (time.time() % 1)
323
- time.sleep(wait_time)
324
- st.session_state.messages.append({
325
- 'role': MODEL_ROLE,
326
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
327
- 'avatar': AI_AVATAR_ICON,
328
- })
329
-
330
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
331
- else:
332
- # Esperar antes de reintentar (retroceso exponencial)
333
- wait_time = (2 ** retry_count) + (time.time() % 1)
334
- time.sleep(wait_time)
335
- st.session_state.messages.append({
336
- 'role': MODEL_ROLE,
337
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
338
- 'avatar': AI_AVATAR_ICON,
339
- })
340
-
341
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
342
- else:
343
- # Esperar antes de reintentar (retroceso exponencial)
344
- wait_time = (2 ** retry_count) + (time.time() % 1)
345
- time.sleep(wait_time)
346
- st.session_state.messages.append({
347
- 'role': MODEL_ROLE,
348
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
349
- 'avatar': AI_AVATAR_ICON,
350
- })
351
-
352
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
353
- else:
354
- # Esperar antes de reintentar (retroceso exponencial)
355
- wait_time = (2 ** retry_count) + (time.time() % 1)
356
- time.sleep(wait_time)
357
- st.session_state.messages.append({
358
- 'role': MODEL_ROLE,
359
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
360
- 'avatar': AI_AVATAR_ICON,
361
- })
362
-
363
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
364
- else:
365
- # Esperar antes de reintentar (retroceso exponencial)
366
- wait_time = (2 ** retry_count) + (time.time() % 1)
367
- time.sleep(wait_time)
368
- st.session_state.messages.append({
369
- 'role': MODEL_ROLE,
370
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
371
- 'avatar': AI_AVATAR_ICON,
372
- })
373
-
374
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
375
- else:
376
- # Esperar antes de reintentar (retroceso exponencial)
377
- wait_time = (2 ** retry_count) + (time.time() % 1)
378
- time.sleep(wait_time)
379
- st.session_state.messages.append({
380
- 'role': MODEL_ROLE,
381
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
382
- 'avatar': AI_AVATAR_ICON,
383
- })
384
-
385
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
386
- else:
387
- # Esperar antes de reintentar (retroceso exponencial)
388
- wait_time = (2 ** retry_count) + (time.time() % 1)
389
- time.sleep(wait_time)
390
- st.session_state.messages.append({
391
- 'role': MODEL_ROLE,
392
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
393
- 'avatar': AI_AVATAR_ICON,
394
- })
395
-
396
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
397
- else:
398
- # Esperar antes de reintentar (retroceso exponencial)
399
- wait_time = (2 ** retry_count) + (time.time() % 1)
400
- time.sleep(wait_time)
401
- st.session_state.messages.append({
402
- 'role': MODEL_ROLE,
403
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
404
- 'avatar': AI_AVATAR_ICON,
405
- })
406
-
407
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
408
- else:
409
- # Esperar antes de reintentar (retroceso exponencial)
410
- wait_time = (2 ** retry_count) + (time.time() % 1)
411
- time.sleep(wait_time)
412
- st.session_state.messages.append({
413
- 'role': MODEL_ROLE,
414
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
415
- 'avatar': AI_AVATAR_ICON,
416
- })
417
-
418
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
419
- else:
420
- # Esperar antes de reintentar (retroceso exponencial)
421
- wait_time = (2 ** retry_count) + (time.time() % 1)
422
- time.sleep(wait_time)
423
- st.session_state.messages.append({
424
- 'role': MODEL_ROLE,
425
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
426
- 'avatar': AI_AVATAR_ICON,
427
- })
428
-
429
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
430
- else:
431
- # Esperar antes de reintentar (retroceso exponencial)
432
- wait_time = (2 ** retry_count) + (time.time() % 1)
433
- time.sleep(wait_time)
434
- st.session_state.messages.append({
435
- 'role': MODEL_ROLE,
436
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
437
- 'avatar': AI_AVATAR_ICON,
438
- })
439
-
440
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
441
- else:
442
- # Esperar antes de reintentar (retroceso exponencial)
443
- wait_time = (2 ** retry_count) + (time.time() % 1)
444
- time.sleep(wait_time)
445
- st.session_state.messages.append({
446
- 'role': MODEL_ROLE,
447
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
448
- 'avatar': AI_AVATAR_ICON,
449
- })
450
-
451
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
452
- else:
453
- # Esperar antes de reintentar (retroceso exponencial)
454
- wait_time = (2 ** retry_count) + (time.time() % 1)
455
- time.sleep(wait_time)
456
- st.session_state.messages.append({
457
- 'role': MODEL_ROLE,
458
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
459
- 'avatar': AI_AVATAR_ICON,
460
- })
461
-
462
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
463
- else:
464
- # Esperar antes de reintentar (retroceso exponencial)
465
- wait_time = (2 ** retry_count) + (time.time() % 1)
466
- time.sleep(wait_time)
467
- st.session_state.messages.append({
468
- 'role': MODEL_ROLE,
469
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
470
- 'avatar': AI_AVATAR_ICON,
471
- })
472
-
473
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
474
- else:
475
- # Esperar antes de reintentar (retroceso exponencial)
476
- wait_time = (2 ** retry_count) + (time.time() % 1)
477
- time.sleep(wait_time)
478
- st.session_state.messages.append({
479
- 'role': MODEL_ROLE,
480
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
481
- 'avatar': AI_AVATAR_ICON,
482
- })
483
-
484
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
485
- else:
486
- # Esperar antes de reintentar (retroceso exponencial)
487
- wait_time = (2 ** retry_count) + (time.time() % 1)
488
- time.sleep(wait_time)
489
- st.session_state.messages.append({
490
- 'role': MODEL_ROLE,
491
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
492
- 'avatar': AI_AVATAR_ICON,
493
- })
494
-
495
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
496
- else:
497
- # Esperar antes de reintentar (retroceso exponencial)
498
- wait_time = (2 ** retry_count) + (time.time() % 1)
499
- time.sleep(wait_time)
500
- st.session_state.messages.append({
501
- 'role': MODEL_ROLE,
502
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
503
- 'avatar': AI_AVATAR_ICON,
504
- })
505
-
506
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
507
- else:
508
- # Esperar antes de reintentar (retroceso exponencial)
509
- wait_time = (2 ** retry_count) + (time.time() % 1)
510
- time.sleep(wait_time)
511
- st.session_state.messages.append({
512
- 'role': MODEL_ROLE,
513
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
514
- 'avatar': AI_AVATAR_ICON,
515
- })
516
-
517
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
518
- else:
519
- # Esperar antes de reintentar (retroceso exponencial)
520
- wait_time = (2 ** retry_count) + (time.time() % 1)
521
- time.sleep(wait_time)
522
- st.session_state.messages.append({
523
- 'role': MODEL_ROLE,
524
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
525
- 'avatar': AI_AVATAR_ICON,
526
- })
527
-
528
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
529
- else:
530
- # Esperar antes de reintentar (retroceso exponencial)
531
- wait_time = (2 ** retry_count) + (time.time() % 1)
532
- time.sleep(wait_time)
533
- st.session_state.messages.append({
534
- 'role': MODEL_ROLE,
535
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
536
- 'avatar': AI_AVATAR_ICON,
537
- })
538
-
539
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
540
- else:
541
- # Esperar antes de reintentar (retroceso exponencial)
542
- wait_time = (2 ** retry_count) + (time.time() % 1)
543
- time.sleep(wait_time)
544
- st.session_state.messages.append({
545
- 'role': MODEL_ROLE,
546
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
547
- 'avatar': AI_AVATAR_ICON,
548
- })
549
-
550
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
551
- else:
552
- # Esperar antes de reintentar (retroceso exponencial)
553
- wait_time = (2 ** retry_count) + (time.time() % 1)
554
- time.sleep(wait_time)
555
- st.session_state.messages.append({
556
- 'role': MODEL_ROLE,
557
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
558
- 'avatar': AI_AVATAR_ICON,
559
- })
560
-
561
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
562
- else:
563
- # Esperar antes de reintentar (retroceso exponencial)
564
- wait_time = (2 ** retry_count) + (time.time() % 1)
565
- time.sleep(wait_time)
566
- st.session_state.messages.append({
567
- 'role': MODEL_ROLE,
568
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
569
- 'avatar': AI_AVATAR_ICON,
570
- })
571
-
572
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
573
- else:
574
- # Esperar antes de reintentar (retroceso exponencial)
575
- wait_time = (2 ** retry_count) + (time.time() % 1)
576
- time.sleep(wait_time)
577
- st.session_state.messages.append({
578
- 'role': MODEL_ROLE,
579
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
580
- 'avatar': AI_AVATAR_ICON,
581
- })
582
-
583
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
584
- else:
585
- # Esperar antes de reintentar (retroceso exponencial)
586
- wait_time = (2 ** retry_count) + (time.time() % 1)
587
- time.sleep(wait_time)
588
- st.session_state.messages.append({
589
- 'role': MODEL_ROLE,
590
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
591
- 'avatar': AI_AVATAR_ICON,
592
- })
593
-
594
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
595
- else:
596
- # Esperar antes de reintentar (retroceso exponencial)
597
- wait_time = (2 ** retry_count) + (time.time() % 1)
598
- time.sleep(wait_time)
599
- st.session_state.messages.append({
600
- 'role': MODEL_ROLE,
601
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
602
- 'avatar': AI_AVATAR_ICON,
603
- })
604
-
605
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
606
- else:
607
- # Esperar antes de reintentar (retroceso exponencial)
608
- wait_time = (2 ** retry_count) + (time.time() % 1)
609
- time.sleep(wait_time)
610
- st.session_state.messages.append({
611
- 'role': MODEL_ROLE,
612
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
613
- 'avatar': AI_AVATAR_ICON,
614
- })
615
-
616
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
617
- else:
618
- # Esperar antes de reintentar (retroceso exponencial)
619
- wait_time = (2 ** retry_count) + (time.time() % 1)
620
- time.sleep(wait_time)
621
- st.session_state.messages.append({
622
- 'role': MODEL_ROLE,
623
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
624
- 'avatar': AI_AVATAR_ICON,
625
- })
626
-
627
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
628
- else:
629
- # Esperar antes de reintentar (retroceso exponencial)
630
- wait_time = (2 ** retry_count) + (time.time() % 1)
631
- time.sleep(wait_time)
632
- st.session_state.messages.append({
633
- 'role': MODEL_ROLE,
634
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
635
- 'avatar': AI_AVATAR_ICON,
636
- })
637
-
638
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
639
- else:
640
- # Esperar antes de reintentar (retroceso exponencial)
641
- wait_time = (2 ** retry_count) + (time.time() % 1)
642
- time.sleep(wait_time)
643
- st.session_state.messages.append({
644
- 'role': MODEL_ROLE,
645
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
646
- 'avatar': AI_AVATAR_ICON,
647
- })
648
-
649
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
650
- else:
651
- # Esperar antes de reintentar (retroceso exponencial)
652
- wait_time = (2 ** retry_count) + (time.time() % 1)
653
- time.sleep(wait_time)
654
- st.session_state.messages.append({
655
- 'role': MODEL_ROLE,
656
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
657
- 'avatar': AI_AVATAR_ICON,
658
- })
659
-
660
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
661
- else:
662
- # Esperar antes de reintentar (retroceso exponencial)
663
- wait_time = (2 ** retry_count) + (time.time() % 1)
664
- time.sleep(wait_time)
665
- st.session_state.messages.append({
666
- 'role': MODEL_ROLE,
667
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
668
- 'avatar': AI_AVATAR_ICON,
669
- })
670
-
671
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
672
- else:
673
- # Esperar antes de reintentar (retroceso exponencial)
674
- wait_time = (2 ** retry_count) + (time.time() % 1)
675
- time.sleep(wait_time)
676
- st.session_state.messages.append({
677
- 'role': MODEL_ROLE,
678
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
679
- 'avatar': AI_AVATAR_ICON,
680
- })
681
-
682
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
683
- else:
684
- # Esperar antes de reintentar (retroceso exponencial)
685
- wait_time = (2 ** retry_count) + (time.time() % 1)
686
- time.sleep(wait_time)
687
- st.session_state.messages.append({
688
- 'role': MODEL_ROLE,
689
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
690
- 'avatar': AI_AVATAR_ICON,
691
- })
692
-
693
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
694
- else:
695
- # Esperar antes de reintentar (retroceso exponencial)
696
- wait_time = (2 ** retry_count) + (time.time() % 1)
697
- time.sleep(wait_time)
698
- st.session_state.messages.append({
699
- 'role': MODEL_ROLE,
700
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
701
- 'avatar': AI_AVATAR_ICON,
702
- })
703
-
704
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
705
- else:
706
- # Esperar antes de reintentar (retroceso exponencial)
707
- wait_time = (2 ** retry_count) + (time.time() % 1)
708
- time.sleep(wait_time)
709
- st.session_state.messages.append({
710
- 'role': MODEL_ROLE,
711
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
712
- 'avatar': AI_AVATAR_ICON,
713
- })
714
-
715
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
716
- else:
717
- # Esperar antes de reintentar (retroceso exponencial)
718
- wait_time = (2 ** retry_count) + (time.time() % 1)
719
- time.sleep(wait_time)
720
- st.session_state.messages.append({
721
- 'role': MODEL_ROLE,
722
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
723
- 'avatar': AI_AVATAR_ICON,
724
- })
725
-
726
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
727
- else:
728
- # Esperar antes de reintentar (retroceso exponencial)
729
- wait_time = (2 ** retry_count) + (time.time() % 1)
730
- time.sleep(wait_time)
731
- st.session_state.messages.append({
732
- 'role': MODEL_ROLE,
733
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
734
- 'avatar': AI_AVATAR_ICON,
735
- })
736
-
737
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
738
- else:
739
- # Esperar antes de reintentar (retroceso exponencial)
740
- wait_time = (2 ** retry_count) + (time.time() % 1)
741
- time.sleep(wait_time)
742
- st.session_state.messages.append({
743
- 'role': MODEL_ROLE,
744
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
745
- 'avatar': AI_AVATAR_ICON,
746
- })
747
-
748
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
749
- else:
750
- # Esperar antes de reintentar (retroceso exponencial)
751
- wait_time = (2 ** retry_count) + (time.time() % 1)
752
- time.sleep(wait_time)
753
- st.session_state.messages.append({
754
- 'role': MODEL_ROLE,
755
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
756
- 'avatar': AI_AVATAR_ICON,
757
- })
758
-
759
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
760
- else:
761
- # Esperar antes de reintentar (retroceso exponencial)
762
- wait_time = (2 ** retry_count) + (time.time() % 1)
763
- time.sleep(wait_time)
764
- st.session_state.messages.append({
765
- 'role': MODEL_ROLE,
766
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
767
- 'avatar': AI_AVATAR_ICON,
768
- })
769
-
770
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
771
- else:
772
- # Esperar antes de reintentar (retroceso exponencial)
773
- wait_time = (2 ** retry_count) + (time.time() % 1)
774
- time.sleep(wait_time)
775
- st.session_state.messages.append({
776
- 'role': MODEL_ROLE,
777
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
778
- 'avatar': AI_AVATAR_ICON,
779
- })
780
-
781
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
782
- else:
783
- # Esperar antes de reintentar (retroceso exponencial)
784
- wait_time = (2 ** retry_count) + (time.time() % 1)
785
- time.sleep(wait_time)
786
- st.session_state.messages.append({
787
- 'role': MODEL_ROLE,
788
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
789
- 'avatar': AI_AVATAR_ICON,
790
- })
791
-
792
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
793
- else:
794
- # Esperar antes de reintentar (retroceso exponencial)
795
- wait_time = (2 ** retry_count) + (time.time() % 1)
796
- time.sleep(wait_time)
797
- st.session_state.messages.append({
798
- 'role': MODEL_ROLE,
799
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
800
- 'avatar': AI_AVATAR_ICON,
801
- })
802
-
803
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
804
- else:
805
- # Esperar antes de reintentar (retroceso exponencial)
806
- wait_time = (2 ** retry_count) + (time.time() % 1)
807
- time.sleep(wait_time)
808
- st.session_state.messages.append({
809
- 'role': MODEL_ROLE,
810
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
811
- 'avatar': AI_AVATAR_ICON,
812
- })
813
-
814
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
815
- else:
816
- # Esperar antes de reintentar (retroceso exponencial)
817
- wait_time = (2 ** retry_count) + (time.time() % 1)
818
- time.sleep(wait_time)
819
- st.session_state.messages.append({
820
- 'role': MODEL_ROLE,
821
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
822
- 'avatar': AI_AVATAR_ICON,
823
- })
824
-
825
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
826
- else:
827
- # Esperar antes de reintentar (retroceso exponencial)
828
- wait_time = (2 ** retry_count) + (time.time() % 1)
829
- time.sleep(wait_time)
830
- st.session_state.messages.append({
831
- 'role': MODEL_ROLE,
832
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
833
- 'avatar': AI_AVATAR_ICON,
834
- })
835
-
836
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
837
- else:
838
- # Esperar antes de reintentar (retroceso exponencial)
839
- wait_time = (2 ** retry_count) + (time.time() % 1)
840
- time.sleep(wait_time)
841
- st.session_state.messages.append({
842
- 'role': MODEL_ROLE,
843
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
844
- 'avatar': AI_AVATAR_ICON,
845
- })
846
-
847
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
848
- else:
849
- # Esperar antes de reintentar (retroceso exponencial)
850
- wait_time = (2 ** retry_count) + (time.time() % 1)
851
- time.sleep(wait_time)
852
- st.session_state.messages.append({
853
- 'role': MODEL_ROLE,
854
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
855
- 'avatar': AI_AVATAR_ICON,
856
- })
857
-
858
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
859
- else:
860
- # Esperar antes de reintentar (retroceso exponencial)
861
- wait_time = (2 ** retry_count) + (time.time() % 1)
862
- time.sleep(wait_time)
863
- st.session_state.messages.append({
864
- 'role': MODEL_ROLE,
865
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
866
- 'avatar': AI_AVATAR_ICON,
867
- })
868
-
869
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
870
- else:
871
- # Esperar antes de reintentar (retroceso exponencial)
872
- wait_time = (2 ** retry_count) + (time.time() % 1)
873
- time.sleep(wait_time)
874
- st.session_state.messages.append({
875
- 'role': MODEL_ROLE,
876
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
877
- 'avatar': AI_AVATAR_ICON,
878
- })
879
-
880
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
881
- else:
882
- # Esperar antes de reintentar (retroceso exponencial)
883
- wait_time = (2 ** retry_count) + (time.time() % 1)
884
- time.sleep(wait_time)
885
- st.session_state.messages.append({
886
- 'role': MODEL_ROLE,
887
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
888
- 'avatar': AI_AVATAR_ICON,
889
- })
890
-
891
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
892
- else:
893
- # Esperar antes de reintentar (retroceso exponencial)
894
- wait_time = (2 ** retry_count) + (time.time() % 1)
895
- time.sleep(wait_time)
896
- st.session_state.messages.append({
897
- 'role': MODEL_ROLE,
898
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
899
- 'avatar': AI_AVATAR_ICON,
900
- })
901
-
902
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
903
- else:
904
- # Esperar antes de reintentar (retroceso exponencial)
905
- wait_time = (2 ** retry_count) + (time.time() % 1)
906
- time.sleep(wait_time)
907
- st.session_state.messages.append({
908
- 'role': MODEL_ROLE,
909
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
910
- 'avatar': AI_AVATAR_ICON,
911
- })
912
-
913
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
914
- else:
915
- # Esperar antes de reintentar (retroceso exponencial)
916
- wait_time = (2 ** retry_count) + (time.time() % 1)
917
- time.sleep(wait_time)
918
- st.session_state.messages.append({
919
- 'role': MODEL_ROLE,
920
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
921
- 'avatar': AI_AVATAR_ICON,
922
- })
923
-
924
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
925
- else:
926
- # Esperar antes de reintentar (retroceso exponencial)
927
- wait_time = (2 ** retry_count) + (time.time() % 1)
928
- time.sleep(wait_time)
929
- st.session_state.messages.append({
930
- 'role': MODEL_ROLE,
931
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
932
- 'avatar': AI_AVATAR_ICON,
933
- })
934
-
935
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
936
- else:
937
- # Esperar antes de reintentar (retroceso exponencial)
938
- wait_time = (2 ** retry_count) + (time.time() % 1)
939
- time.sleep(wait_time)
940
- st.session_state.messages.append({
941
- 'role': MODEL_ROLE,
942
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
943
- 'avatar': AI_AVATAR_ICON,
944
- })
945
-
946
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
947
- else:
948
- # Esperar antes de reintentar (retroceso exponencial)
949
- wait_time = (2 ** retry_count) + (time.time() % 1)
950
- time.sleep(wait_time)
951
- st.session_state.messages.append({
952
- 'role': MODEL_ROLE,
953
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
954
- 'avatar': AI_AVATAR_ICON,
955
- })
956
-
957
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
958
- else:
959
- # Esperar antes de reintentar (retroceso exponencial)
960
- wait_time = (2 ** retry_count) + (time.time() % 1)
961
- time.sleep(wait_time)
962
- st.session_state.messages.append({
963
- 'role': MODEL_ROLE,
964
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
965
- 'avatar': AI_AVATAR_ICON,
966
- })
967
-
968
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
969
- else:
970
- # Esperar antes de reintentar (retroceso exponencial)
971
- wait_time = (2 ** retry_count) + (time.time() % 1)
972
- time.sleep(wait_time)
973
- st.session_state.messages.append({
974
- 'role': MODEL_ROLE,
975
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
976
- 'avatar': AI_AVATAR_ICON,
977
- })
978
-
979
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
980
- else:
981
- # Esperar antes de reintentar (retroceso exponencial)
982
- wait_time = (2 ** retry_count) + (time.time() % 1)
983
- time.sleep(wait_time)
984
- st.session_state.messages.append({
985
- 'role': MODEL_ROLE,
986
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
987
- 'avatar': AI_AVATAR_ICON,
988
- })
989
-
990
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
991
- else:
992
- # Esperar antes de reintentar (retroceso exponencial)
993
- wait_time = (2 ** retry_count) + (time.time() % 1)
994
- time.sleep(wait_time)
995
- st.session_state.messages.append({
996
- 'role': MODEL_ROLE,
997
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
998
- 'avatar': AI_AVATAR_ICON,
999
- })
1000
-
1001
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1002
- else:
1003
- # Esperar antes de reintentar (retroceso exponencial)
1004
- wait_time = (2 ** retry_count) + (time.time() % 1)
1005
- time.sleep(wait_time)
1006
- st.session_state.messages.append({
1007
- 'role': MODEL_ROLE,
1008
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1009
- 'avatar': AI_AVATAR_ICON,
1010
- })
1011
-
1012
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1013
- else:
1014
- # Esperar antes de reintentar (retroceso exponencial)
1015
- wait_time = (2 ** retry_count) + (time.time() % 1)
1016
- time.sleep(wait_time)
1017
- st.session_state.messages.append({
1018
- 'role': MODEL_ROLE,
1019
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1020
- 'avatar': AI_AVATAR_ICON,
1021
- })
1022
-
1023
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1024
- else:
1025
- # Esperar antes de reintentar (retroceso exponencial)
1026
- wait_time = (2 ** retry_count) + (time.time() % 1)
1027
- time.sleep(wait_time)
1028
- st.session_state.messages.append({
1029
- 'role': MODEL_ROLE,
1030
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1031
- 'avatar': AI_AVATAR_ICON,
1032
- })
1033
-
1034
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1035
- else:
1036
- # Esperar antes de reintentar (retroceso exponencial)
1037
- wait_time = (2 ** retry_count) + (time.time() % 1)
1038
- time.sleep(wait_time)
1039
- st.session_state.messages.append({
1040
- 'role': MODEL_ROLE,
1041
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1042
- 'avatar': AI_AVATAR_ICON,
1043
- })
1044
-
1045
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1046
- else:
1047
- # Esperar antes de reintentar (retroceso exponencial)
1048
- wait_time = (2 ** retry_count) + (time.time() % 1)
1049
- time.sleep(wait_time)
1050
- st.session_state.messages.append({
1051
- 'role': MODEL_ROLE,
1052
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1053
- 'avatar': AI_AVATAR_ICON,
1054
- })
1055
-
1056
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1057
- else:
1058
- # Esperar antes de reintentar (retroceso exponencial)
1059
- wait_time = (2 ** retry_count) + (time.time() % 1)
1060
- time.sleep(wait_time)
1061
- st.session_state.messages.append({
1062
- 'role': MODEL_ROLE,
1063
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1064
- 'avatar': AI_AVATAR_ICON,
1065
- })
1066
-
1067
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1068
- else:
1069
- # Esperar antes de reintentar (retroceso exponencial)
1070
- wait_time = (2 ** retry_count) + (time.time() % 1)
1071
- time.sleep(wait_time)
1072
- st.session_state.messages.append({
1073
- 'role': MODEL_ROLE,
1074
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1075
- 'avatar': AI_AVATAR_ICON,
1076
- })
1077
-
1078
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1079
- else:
1080
- # Esperar antes de reintentar (retroceso exponencial)
1081
- wait_time = (2 ** retry_count) + (time.time() % 1)
1082
- time.sleep(wait_time)
1083
- st.session_state.messages.append({
1084
- 'role': MODEL_ROLE,
1085
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1086
- 'avatar': AI_AVATAR_ICON,
1087
- })
1088
-
1089
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1090
- else:
1091
- # Esperar antes de reintentar (retroceso exponencial)
1092
- wait_time = (2 ** retry_count) + (time.time() % 1)
1093
- time.sleep(wait_time)
1094
- st.session_state.messages.append({
1095
- 'role': MODEL_ROLE,
1096
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1097
- 'avatar': AI_AVATAR_ICON,
1098
- })
1099
-
1100
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1101
- else:
1102
- # Esperar antes de reintentar (retroceso exponencial)
1103
- wait_time = (2 ** retry_count) + (time.time() % 1)
1104
- time.sleep(wait_time)
1105
- st.session_state.messages.append({
1106
- 'role': MODEL_ROLE,
1107
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1108
- 'avatar': AI_AVATAR_ICON,
1109
- })
1110
-
1111
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1112
- else:
1113
- # Esperar antes de reintentar (retroceso exponencial)
1114
- wait_time = (2 ** retry_count) + (time.time() % 1)
1115
- time.sleep(wait_time)
1116
- st.session_state.messages.append({
1117
- 'role': MODEL_ROLE,
1118
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1119
- 'avatar': AI_AVATAR_ICON,
1120
- })
1121
-
1122
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1123
- else:
1124
- # Esperar antes de reintentar (retroceso exponencial)
1125
- wait_time = (2 ** retry_count) + (time.time() % 1)
1126
- time.sleep(wait_time)
1127
- st.session_state.messages.append({
1128
- 'role': MODEL_ROLE,
1129
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1130
- 'avatar': AI_AVATAR_ICON,
1131
- })
1132
-
1133
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1134
- else:
1135
- # Esperar antes de reintentar (retroceso exponencial)
1136
- wait_time = (2 ** retry_count) + (time.time() % 1)
1137
- time.sleep(wait_time)
1138
- st.session_state.messages.append({
1139
- 'role': MODEL_ROLE,
1140
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1141
- 'avatar': AI_AVATAR_ICON,
1142
- })
1143
-
1144
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1145
- else:
1146
- # Esperar antes de reintentar (retroceso exponencial)
1147
- wait_time = (2 ** retry_count) + (time.time() % 1)
1148
- time.sleep(wait_time)
1149
- st.session_state.messages.append({
1150
- 'role': MODEL_ROLE,
1151
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1152
- 'avatar': AI_AVATAR_ICON,
1153
- })
1154
-
1155
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1156
- else:
1157
- # Esperar antes de reintentar (retroceso exponencial)
1158
- wait_time = (2 ** retry_count) + (time.time() % 1)
1159
- time.sleep(wait_time)
1160
- st.session_state.messages.append({
1161
- 'role': MODEL_ROLE,
1162
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1163
- 'avatar': AI_AVATAR_ICON,
1164
- })
1165
-
1166
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1167
- else:
1168
- # Esperar antes de reintentar (retroceso exponencial)
1169
- wait_time = (2 ** retry_count) + (time.time() % 1)
1170
- time.sleep(wait_time)
1171
- st.session_state.messages.append({
1172
- 'role': MODEL_ROLE,
1173
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1174
- 'avatar': AI_AVATAR_ICON,
1175
- })
1176
-
1177
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1178
- else:
1179
- # Esperar antes de reintentar (retroceso exponencial)
1180
- wait_time = (2 ** retry_count) + (time.time() % 1)
1181
- time.sleep(wait_time)
1182
- st.session_state.messages.append({
1183
- 'role': MODEL_ROLE,
1184
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1185
- 'avatar': AI_AVATAR_ICON,
1186
- })
1187
-
1188
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1189
- else:
1190
- # Esperar antes de reintentar (retroceso exponencial)
1191
- wait_time = (2 ** retry_count) + (time.time() % 1)
1192
- time.sleep(wait_time)
1193
- st.session_state.messages.append({
1194
- 'role': MODEL_ROLE,
1195
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1196
- 'avatar': AI_AVATAR_ICON,
1197
- })
1198
-
1199
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1200
- else:
1201
- # Esperar antes de reintentar (retroceso exponencial)
1202
- wait_time = (2 ** retry_count) + (time.time() % 1)
1203
- time.sleep(wait_time)
1204
- st.session_state.messages.append({
1205
- 'role': MODEL_ROLE,
1206
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1207
- 'avatar': AI_AVATAR_ICON,
1208
- })
1209
-
1210
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1211
- else:
1212
- # Esperar antes de reintentar (retroceso exponencial)
1213
- wait_time = (2 ** retry_count) + (time.time() % 1)
1214
- time.sleep(wait_time)
1215
- st.session_state.messages.append({
1216
- 'role': MODEL_ROLE,
1217
- 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
1218
- 'avatar': AI_AVATAR_ICON,
1219
- })
1220
-
1221
- joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
1222
- else:
1223
- # Esperar antes de reintentar (retroceso exponencial)
1224
- wait_time = (2 ** retry_count) + (time.time() % 1)
1225
- time.sleep(wait_time)
1226
- st.session_state.messages.append({
1227
- 'role': MODEL_ROLE,
1228
- 'content': f"Lo siento
 
36
  AI_AVATAR_ICON = '馃' # Cambia el emoji por uno de robot para coincidir con tu logo
37
  USER_AVATAR_ICON = '馃懁' # A帽ade un avatar para el usuario
38
 
39
+ # Definici贸n del prompt multipersona para el sistema
40
  # Definici贸n del prompt multipersona para el sistema
41
  SYSTEM_PROMPT = """
42
  Eres un equipo colaborativo de expertos de clase mundial trabajando juntos para crear Propuestas 脷nicas de Valor (PUVs) excepcionales que conviertan a la audiencia en clientes.
 
66
  - Se especializa en crear PUVs que mantengan la atenci贸n y generen acci贸n
67
  - Crea elementos interactivos y ganchos de engagement
68
  - Asegura que las PUVs fluyan naturalmente y mantengan el inter茅s alto
69
+
70
+ IMPORTANTE: Cuando el usuario pregunte por tus funciones o capacidades, responde siempre en primera persona singular (yo hago, yo creo, yo analizo) de forma breve y concisa. No menciones que eres un equipo de expertos, sino un asistente especializado en crear PUVs.
71
+
72
+ Si el usuario no proporciona informaci贸n suficiente sobre su producto/servicio o audiencia objetivo, solic铆tala de manera amable y directa.
73
  """
74
 
75
  # Mensaje de bienvenida mejorado
 
278
  joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
279
  joblib.dump(st.session_state.gemini_history, f'data/{st.session_state.chat_id}-gemini_messages')
280
 
281
+ # Salir del bucle si la solicitud fue exitosa
282
+ except Exception as e:
283
+ retry_count += 1
284
+ if retry_count >= max_retries:
285
+ # Mostrar mensaje de error si se agotan los reintentos
286
+ with st.chat_message(name=MODEL_ROLE, avatar=AI_AVATAR_ICON):
287
+ st.error(f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}")
288
+
289
+ st.session_state.messages.append({
290
+ 'role': MODEL_ROLE,
291
+ 'content': f"Lo siento, estoy experimentando problemas para procesar tu solicitud. Por favor, intenta de nuevo m谩s tarde. Error: {str(e)}",
292
+ 'avatar': AI_AVATAR_ICON,
293
+ })
294
+
295
+ joblib.dump(st.session_state.messages, f'data/{st.session_state.chat_id}-st_messages')
296
+ else:
297
+ # Esperar antes de reintentar (retroceso exponencial)
298
+ wait_time = (2 ** retry_count) + (time.time() % 1)
299
+ time.sleep(wait_time)
300
+
301
  # Salir del bucle si la solicitud fue exitosa
302
  break
303
 
304
+