AIdeaText commited on
Commit
8576dc4
1 Parent(s): 9576b60

Update modules/ui.py

Browse files
Files changed (1) hide show
  1. modules/ui.py +16 -42
modules/ui.py CHANGED
@@ -411,61 +411,38 @@ def display_chatbot_interface(lang_code):
411
  'initial_message': "Bonjour! Comment pouvons-nous vous aider?"
412
  }
413
  }
414
-
415
  t = translations[lang_code]
416
-
417
- st.markdown("""
418
- <style>
419
- .stTextInput > div > div > input {
420
- background-color: #F0F2F6;
421
- }
422
- .stTextArea > div > div > textarea {
423
- background-color: #F0F2F6;
424
- border: none;
425
- }
426
- .stTextArea > div > div > textarea:disabled {
427
- color: #000000;
428
- }
429
- </style>
430
- """, unsafe_allow_html=True)
431
-
432
  st.title(t['title'])
433
-
434
  if 'chatbot' not in st.session_state:
435
  st.session_state.chatbot = initialize_chatbot()
436
-
437
  if 'messages' not in st.session_state:
438
  st.session_state.messages = [{"role": "assistant", "content": t['initial_message']}]
439
-
440
  if 'message_id' not in st.session_state:
441
  st.session_state.message_id = 0
442
-
443
  if 'message_counter' not in st.session_state:
444
  st.session_state.message_counter = 0
445
 
446
  chat_container = st.container()
447
-
448
  # Mostrar mensajes existentes
449
  with chat_container:
450
- assistant_message = st.empty()
451
- full_response = ""
452
- for char in response:
453
- full_response += char
454
- assistant_message.text_area("Assistant:", value=full_response + "", height=50, key=f"assistant_msg_{st.session_state.message_id}_typing_{st.session_state.message_counter}", disabled=True)
455
- st.session_state.message_counter += 1
456
- time.sleep(0.01)
457
- assistant_message.text_area("Assistant:", value=full_response, height=50, key=f"assistant_msg_{st.session_state.message_id}", disabled=True)
458
 
459
  # Área de entrada del usuario
460
  user_input = st.text_input(t['input_placeholder'], key="user_input")
461
-
462
  # Procesamiento del input del usuario
463
  if user_input:
464
  st.session_state.messages.append({"role": "user", "content": user_input})
465
  st.session_state.message_id += 1
466
  with chat_container:
467
  st.text_area("You:", value=user_input, height=50, key=f"user_msg_{st.session_state.message_id}", disabled=True)
468
-
469
  # Generar respuesta del chatbot
470
  try:
471
  response = get_chatbot_response(st.session_state.chatbot, user_input, lang_code)
@@ -475,26 +452,23 @@ def display_chatbot_interface(lang_code):
475
 
476
  st.session_state.messages.append({"role": "assistant", "content": response})
477
  st.session_state.message_id += 1
478
-
479
  # Mostrar la respuesta del chatbot con efecto de escritura
480
  with chat_container:
481
  assistant_message = st.empty()
482
  full_response = ""
483
  for char in response:
484
  full_response += char
485
- assistant_message.text_area("Assistant:", value=full_response + "▌", height=50, key=f"assistant_msg_{st.session_state.message_id}_typing", disabled=True)
 
486
  time.sleep(0.01)
487
  assistant_message.text_area("Assistant:", value=full_response, height=50, key=f"assistant_msg_{st.session_state.message_id}", disabled=True)
488
-
489
  # Guardar la conversación en la base de datos
490
  store_chat_history(st.session_state.username, st.session_state.messages)
491
-
492
  # Limpiar el input del usuario
493
  st.session_state.user_input = ""
494
-
495
- # Mostrar el número de llamadas a la API restantes
496
- #remaining_calls = 50 - st.session_state.get('api_calls', 0)
497
- #st.sidebar.write(f"Llamadas a la API restantes: {remaining_calls}")
498
-
499
  # Forzar una actualización de la interfaz
500
- # st.experimental_rerun()
 
411
  'initial_message': "Bonjour! Comment pouvons-nous vous aider?"
412
  }
413
  }
 
414
  t = translations[lang_code]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
  st.title(t['title'])
 
416
  if 'chatbot' not in st.session_state:
417
  st.session_state.chatbot = initialize_chatbot()
 
418
  if 'messages' not in st.session_state:
419
  st.session_state.messages = [{"role": "assistant", "content": t['initial_message']}]
 
420
  if 'message_id' not in st.session_state:
421
  st.session_state.message_id = 0
 
422
  if 'message_counter' not in st.session_state:
423
  st.session_state.message_counter = 0
424
 
425
  chat_container = st.container()
426
+
427
  # Mostrar mensajes existentes
428
  with chat_container:
429
+ for message in st.session_state.messages:
430
+ if message["role"] == "user":
431
+ st.text_area("You:", value=message["content"], height=50, key=f"user_msg_{st.session_state.message_id}", disabled=True)
432
+ else:
433
+ st.text_area("Assistant:", value=message["content"], height=50, key=f"assistant_msg_{st.session_state.message_id}", disabled=True)
434
+ st.session_state.message_id += 1
 
 
435
 
436
  # Área de entrada del usuario
437
  user_input = st.text_input(t['input_placeholder'], key="user_input")
438
+
439
  # Procesamiento del input del usuario
440
  if user_input:
441
  st.session_state.messages.append({"role": "user", "content": user_input})
442
  st.session_state.message_id += 1
443
  with chat_container:
444
  st.text_area("You:", value=user_input, height=50, key=f"user_msg_{st.session_state.message_id}", disabled=True)
445
+
446
  # Generar respuesta del chatbot
447
  try:
448
  response = get_chatbot_response(st.session_state.chatbot, user_input, lang_code)
 
452
 
453
  st.session_state.messages.append({"role": "assistant", "content": response})
454
  st.session_state.message_id += 1
455
+
456
  # Mostrar la respuesta del chatbot con efecto de escritura
457
  with chat_container:
458
  assistant_message = st.empty()
459
  full_response = ""
460
  for char in response:
461
  full_response += char
462
+ assistant_message.text_area("Assistant:", value=full_response + "▌", height=50, key=f"assistant_msg_{st.session_state.message_id}_typing_{st.session_state.message_counter}", disabled=True)
463
+ st.session_state.message_counter += 1
464
  time.sleep(0.01)
465
  assistant_message.text_area("Assistant:", value=full_response, height=50, key=f"assistant_msg_{st.session_state.message_id}", disabled=True)
466
+
467
  # Guardar la conversación en la base de datos
468
  store_chat_history(st.session_state.username, st.session_state.messages)
469
+
470
  # Limpiar el input del usuario
471
  st.session_state.user_input = ""
472
+
 
 
 
 
473
  # Forzar una actualización de la interfaz
474
+ st.experimental_rerun()