rick commited on
Commit
286d252
·
unverified ·
1 Parent(s): 44bdf48

bug fixed now... not done...

Browse files
Files changed (1) hide show
  1. pages/main.py +22 -9
pages/main.py CHANGED
@@ -24,7 +24,7 @@ from openai import OpenAI
24
  from pydub import AudioSegment
25
 
26
 
27
- __version__ = "1.2.0"
28
 
29
  # Au début du fichier, après les imports
30
  st.set_page_config(
@@ -331,7 +331,8 @@ def concatenate_audio_files(audio_list: List[Tuple[bytes, float]]) -> Optional[b
331
  def process_message(
332
  message: str,
333
  operation_prompt: str = "",
334
- tts_enabled: bool = False
 
335
  ) -> str:
336
  """
337
  Traite les messages des utilisateurs et génère une réponse.
@@ -343,7 +344,10 @@ def process_message(
343
 
344
  """
345
  payload_content = f'{operation_prompt} :\n"""\n{message}\n"""'
346
- st.session_state.messages.append({"role": "user", "content": payload_content})
 
 
 
347
  full_response = ""
348
  try:
349
  for response in client.chat.completions.create(
@@ -356,7 +360,7 @@ def process_message(
356
 
357
  # Utiliser regex pour supprimer les trois premiers et derniers guillemets doubles
358
  full_response = re.sub(r'^"{3}|"{3}$', '', full_response.strip())
359
- st.session_state.messages.append({"role": "assistant", "content": full_response})
360
  st.session_state.full_response = full_response
361
  return full_response
362
  except Exception as e:
@@ -576,12 +580,15 @@ def main_page():
576
  st.session_state.messages = []
577
 
578
  # Vérification de l'existence d'un message système dans st.session_state.messages
579
- if not any(message["role"] == "system" for message in st.session_state.messages):
580
- st.session_state.messages.insert(0, {"role": "system", "content": system_prompt})
581
 
582
  # Interface utilisateur pour le chat textuel
583
  if user_input := st.chat_input(get_translation("entrez_message")):
584
-
 
 
 
585
  with st.chat_message("user", avatar="👤"):
586
  st.markdown(user_input)
587
 
@@ -595,6 +602,8 @@ def main_page():
595
 
596
  for cursor_selected_lang in st.session_state.selected_languages:
597
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
 
 
598
  st.session_state.full_response = ""
599
  # Initialisation du mode de traitement pour la langue cible actuelle
600
  system_prompt, operation_prompt = init_process_mode()
@@ -603,13 +612,15 @@ def main_page():
603
  with st.chat_message("assistant", avatar="👻"):
604
  message_placeholder = st.empty()
605
  response_generator = process_message(
606
- user_input, operation_prompt, st.session_state.enable_tts_for_input_from_text_field
 
 
607
  )
608
  response_status.update(label=f'({target_language_name}) - {get_translation("traduction_en_cours")}', state="running", expanded=True)
609
  for response_chunk in response_generator:
610
  message_placeholder.markdown(response_chunk)
611
 
612
- full_response = response_generator.close() # Obtenir la réponse complète à la fin
613
  if st.session_state.full_response != "":
614
  message_placeholder.markdown(st.session_state.full_response)
615
 
@@ -722,6 +733,7 @@ def main_page():
722
 
723
  if st.session_state.enable_tts_for_input_from_audio_record:
724
  tts_audio, tts_duration = process_tts_message(st.session_state.full_response)
 
725
  if tts_audio:
726
  audio_list.append((tts_audio, tts_duration))
727
  else:
@@ -730,6 +742,7 @@ def main_page():
730
  if audio_list:
731
  #stt_status.update(label=f"{get_translation('concatenation_audio_en_cours')}", state="running", expanded=True)
732
  final_audio = concatenate_audio_files(audio_list)
 
733
  with st.container(border=True):
734
 
735
  # Générer un nom de fichier unique
 
24
  from pydub import AudioSegment
25
 
26
 
27
+ __version__ = "1.2.2"
28
 
29
  # Au début du fichier, après les imports
30
  st.set_page_config(
 
331
  def process_message(
332
  message: str,
333
  operation_prompt: str = "",
334
+ tts_enabled: bool = False,
335
+ system_prompt: Optional[str]=""
336
  ) -> str:
337
  """
338
  Traite les messages des utilisateurs et génère une réponse.
 
344
 
345
  """
346
  payload_content = f'{operation_prompt} :\n"""\n{message}\n"""'
347
+ st.session_state.messages = [
348
+ {"role": "system", "content": system_prompt},
349
+ {"role": "user", "content": payload_content}
350
+ ]
351
  full_response = ""
352
  try:
353
  for response in client.chat.completions.create(
 
360
 
361
  # Utiliser regex pour supprimer les trois premiers et derniers guillemets doubles
362
  full_response = re.sub(r'^"{3}|"{3}$', '', full_response.strip())
363
+ st.session_state.messages = [] #.append({"role": "assistant", "content": full_response})
364
  st.session_state.full_response = full_response
365
  return full_response
366
  except Exception as e:
 
580
  st.session_state.messages = []
581
 
582
  # Vérification de l'existence d'un message système dans st.session_state.messages
583
+ #if not any(message["role"] == "system" for message in st.session_state.messages):
584
+ # st.session_state.messages.insert(0, {"role": "system", "content": system_prompt})
585
 
586
  # Interface utilisateur pour le chat textuel
587
  if user_input := st.chat_input(get_translation("entrez_message")):
588
+
589
+ # Réinitialiser l'état précédent
590
+ st.session_state.full_response = ""
591
+
592
  with st.chat_message("user", avatar="👤"):
593
  st.markdown(user_input)
594
 
 
602
 
603
  for cursor_selected_lang in st.session_state.selected_languages:
604
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
605
+ # Réinitialiser les messages avant de traiter une nouvelle entrée
606
+ st.session_state.messages = []
607
  st.session_state.full_response = ""
608
  # Initialisation du mode de traitement pour la langue cible actuelle
609
  system_prompt, operation_prompt = init_process_mode()
 
612
  with st.chat_message("assistant", avatar="👻"):
613
  message_placeholder = st.empty()
614
  response_generator = process_message(
615
+ user_input, operation_prompt,
616
+ st.session_state.enable_tts_for_input_from_text_field,
617
+ system_prompt=system_prompt
618
  )
619
  response_status.update(label=f'({target_language_name}) - {get_translation("traduction_en_cours")}', state="running", expanded=True)
620
  for response_chunk in response_generator:
621
  message_placeholder.markdown(response_chunk)
622
 
623
+ end_response = response_generator.close() # Obtenir la réponse complète à la fin
624
  if st.session_state.full_response != "":
625
  message_placeholder.markdown(st.session_state.full_response)
626
 
 
733
 
734
  if st.session_state.enable_tts_for_input_from_audio_record:
735
  tts_audio, tts_duration = process_tts_message(st.session_state.full_response)
736
+ del st.session_state.full_response
737
  if tts_audio:
738
  audio_list.append((tts_audio, tts_duration))
739
  else:
 
742
  if audio_list:
743
  #stt_status.update(label=f"{get_translation('concatenation_audio_en_cours')}", state="running", expanded=True)
744
  final_audio = concatenate_audio_files(audio_list)
745
+ del audio_list
746
  with st.container(border=True):
747
 
748
  # Générer un nom de fichier unique