rick commited on
Commit
0ce3431
·
unverified ·
1 Parent(s): 4fb8baf

...not done...

Browse files
Files changed (1) hide show
  1. pages/main.py +76 -73
pages/main.py CHANGED
@@ -672,6 +672,9 @@ def main_page():
672
 
673
 
674
  elif st.session_state.audio:
 
 
 
675
  # Traitement de l'entrée audio de l'utilisateur
676
  if len(st.session_state.audio) > 0:
677
  tmp_file = tempfile.TemporaryFile()
@@ -688,88 +691,88 @@ def main_page():
688
 
689
  tmp_file.close()
690
 
691
- # Detecter la langue du texte transcrit (si la langue source n'est pas détectée)
692
- if st.session_state.language_detected is None:
693
- st.session_state.language_detected = detect_language(
694
- input_text=st.session_state.transcription, temperature=0.01
695
- )
 
 
 
 
 
696
  st.markdown(
697
- f"- {get_translation('langue_detectee')}".format(
698
- f"{convert_iso6391_to_language_name(st.session_state.language_detected)}"
699
  )
700
  )
701
- st.markdown(
702
- f"🎤 {get_translation('transcription_audio')}".format(
703
- f"{st.session_state.transcription}"
704
- )
705
- )
706
 
707
- st.session_state.audio_list = []
708
- for cursor_selected_lang in st.session_state.selected_languages:
709
- st.session_state.target_language = cursor_selected_lang["iso-639-1"]
710
- st.session_state.full_response = ""
711
 
712
- # Initialisation du mode de traitement pour la langue cible actuelle
713
- st.session_state.system_prompt, st.session_state.operation_prompt = init_process_mode(from_lang=
714
- (
715
- st.session_state.language_detected if "language_detected" in st.session_state.language_detected else convert_language_name_to_iso6391(
716
- st.session_state.interface_language
717
- )
718
- ),
719
- to_lang=st.session_state.target_language
720
- )
721
-
722
- with st.chat_message("assistant", avatar="👻"):
723
- message_placeholder = st.empty()
724
- st.session_state.response_generator = process_message(
725
- st.session_state.transcription,
726
- st.session_state.operation_prompt,
727
- st.session_state.enable_tts_for_input_from_audio_record,
728
- st.session_state.system_prompt
729
  )
730
 
731
- for response_chunk in st.session_state.response_generator:
732
- message_placeholder.markdown(response_chunk)
733
- st.session_state.end_response = st.session_state.response_generator.close()
734
- if st.session_state.full_response != "":
735
- message_placeholder.markdown(st.session_state.full_response)
 
 
 
736
 
737
- if st.session_state.enable_tts_for_input_from_audio_record:
738
- st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
739
-
740
- if st.session_state.tts_audio:
741
- st.session_state.audio_list.append(
742
- ( st.session_state.tts_audio,
743
- st.session_state.tts_duration )
744
- )
745
- else:
746
- pass
747
 
748
- if st.session_state.audio_list:
749
- st.session_state.final_audio = concatenate_audio_files(st.session_state.audio_list)
750
-
751
- with st.container(border=True):
752
-
753
- # Générer un nom de fichier unique
754
- st.session_state.timestamp = time.strftime("%Y%m%d-%H%M%S")
755
- st.session_state.langues = "_".join([lang["iso-639-1"] for lang in st.session_state.selected_languages])
756
- st.session_state.nom_fichier = f"reponse_audio_{st.session_state.langues}_{st.session_state.timestamp}.mp3"
757
-
758
- st.audio(st.session_state.final_audio,
759
- format="audio/mp3",
760
- autoplay=st.session_state.autoplay_tts)
761
-
762
- st.download_button(
763
- label=f"📥 {get_translation('telecharger_audio')}",
764
- data=st.session_state.final_audio,
765
- file_name=st.session_state.nom_fichier,
766
- mime="audio/mp3",
767
- use_container_width=True,
768
- type="primary",
769
- key=f"download_button_{st.session_state.langues}_{st.session_state.timestamp}",
770
- )
771
- #
772
- clear_inputs_garbages()
 
 
 
 
 
 
 
 
 
 
 
773
 
774
 
775
  def clear_inputs_garbages(sessions_state_list: Optional[list] =
 
672
 
673
 
674
  elif st.session_state.audio:
675
+ if "language_detected" not in st.session_state:
676
+ st.session_state.language_detected = None
677
+
678
  # Traitement de l'entrée audio de l'utilisateur
679
  if len(st.session_state.audio) > 0:
680
  tmp_file = tempfile.TemporaryFile()
 
691
 
692
  tmp_file.close()
693
 
694
+ # Detecter la langue du texte transcrit (si la langue source n'est pas détectée)
695
+ if st.session_state.language_detected is None:
696
+ st.session_state.language_detected = detect_language(
697
+ input_text=st.session_state.transcription, temperature=0.01
698
+ )
699
+ st.markdown(
700
+ f"- {get_translation('langue_detectee')}".format(
701
+ f"{convert_iso6391_to_language_name(st.session_state.language_detected)}"
702
+ )
703
+ )
704
  st.markdown(
705
+ f"🎤 {get_translation('transcription_audio')}".format(
706
+ f"{st.session_state.transcription}"
707
  )
708
  )
 
 
 
 
 
709
 
710
+ st.session_state.audio_list = []
711
+ for cursor_selected_lang in st.session_state.selected_languages:
712
+ st.session_state.target_language = cursor_selected_lang["iso-639-1"]
713
+ st.session_state.full_response = ""
714
 
715
+ # Initialisation du mode de traitement pour la langue cible actuelle
716
+ st.session_state.system_prompt, st.session_state.operation_prompt = init_process_mode(from_lang=
717
+ (
718
+ st.session_state.language_detected if "language_detected" in st.session_state.language_detected else convert_language_name_to_iso6391(
719
+ st.session_state.interface_language
720
+ )
721
+ ),
722
+ to_lang=st.session_state.target_language
 
 
 
 
 
 
 
 
 
723
  )
724
 
725
+ with st.chat_message("assistant", avatar="👻"):
726
+ message_placeholder = st.empty()
727
+ st.session_state.response_generator = process_message(
728
+ st.session_state.transcription,
729
+ st.session_state.operation_prompt,
730
+ st.session_state.enable_tts_for_input_from_audio_record,
731
+ st.session_state.system_prompt
732
+ )
733
 
734
+ for response_chunk in st.session_state.response_generator:
735
+ message_placeholder.markdown(response_chunk)
736
+ st.session_state.end_response = st.session_state.response_generator.close()
737
+ if st.session_state.full_response != "":
738
+ message_placeholder.markdown(st.session_state.full_response)
 
 
 
 
 
739
 
740
+ if st.session_state.enable_tts_for_input_from_audio_record:
741
+ st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
742
+
743
+ if st.session_state.tts_audio:
744
+ st.session_state.audio_list.append(
745
+ ( st.session_state.tts_audio,
746
+ st.session_state.tts_duration )
747
+ )
748
+ else:
749
+ pass
750
+
751
+ if st.session_state.audio_list:
752
+ st.session_state.final_audio = concatenate_audio_files(st.session_state.audio_list)
753
+
754
+ with st.container(border=True):
755
+
756
+ # Générer un nom de fichier unique
757
+ st.session_state.timestamp = time.strftime("%Y%m%d-%H%M%S")
758
+ st.session_state.langues = "_".join([lang["iso-639-1"] for lang in st.session_state.selected_languages])
759
+ st.session_state.nom_fichier = f"reponse_audio_{st.session_state.langues}_{st.session_state.timestamp}.mp3"
760
+
761
+ st.audio(st.session_state.final_audio,
762
+ format="audio/mp3",
763
+ autoplay=st.session_state.autoplay_tts)
764
+
765
+ st.download_button(
766
+ label=f"📥 {get_translation('telecharger_audio')}",
767
+ data=st.session_state.final_audio,
768
+ file_name=st.session_state.nom_fichier,
769
+ mime="audio/mp3",
770
+ use_container_width=True,
771
+ type="primary",
772
+ key=f"download_button_{st.session_state.langues}_{st.session_state.timestamp}",
773
+ )
774
+ #
775
+ clear_inputs_garbages()
776
 
777
 
778
  def clear_inputs_garbages(sessions_state_list: Optional[list] =