Spaces:
Paused
Paused
rick
commited on
bug fixed now... not done...
Browse files- pages/main.py +17 -13
pages/main.py
CHANGED
|
@@ -571,28 +571,28 @@ def main_page():
|
|
| 571 |
|
| 572 |
with st.container(border=True):
|
| 573 |
# Interface utilisateur pour le chat textuel
|
| 574 |
-
user_input = st.chat_input(
|
| 575 |
get_translation("entrez_message")
|
| 576 |
)
|
| 577 |
-
audio = audiorecorder(
|
| 578 |
start_prompt=get_translation("cliquez_enregistrer"),
|
| 579 |
stop_prompt=get_translation("cliquez_arreter"),
|
| 580 |
pause_prompt=get_translation("cliquez_pause"),
|
| 581 |
show_visualizer=True,
|
| 582 |
key="vocal_chat_input"
|
| 583 |
)
|
| 584 |
-
if user_input:
|
| 585 |
|
| 586 |
# Réinitialiser l'état précédent
|
| 587 |
st.session_state.full_response = ""
|
| 588 |
|
| 589 |
with st.chat_message("user", avatar="👤"):
|
| 590 |
-
st.markdown(user_input)
|
| 591 |
|
| 592 |
# Traitement du message texte de l'utilisateur
|
| 593 |
if st.session_state.language_detected is None:
|
| 594 |
st.session_state.language_detected = detect_language(
|
| 595 |
-
input_text=user_input, temperature=0.01
|
| 596 |
)
|
| 597 |
|
| 598 |
st.session_state.audio_list = []
|
|
@@ -624,7 +624,7 @@ def main_page():
|
|
| 624 |
with st.chat_message("assistant", avatar="👻"):
|
| 625 |
message_placeholder = st.empty()
|
| 626 |
st.session_state.response_generator = process_message(
|
| 627 |
-
user_input,
|
| 628 |
st.session_state.operation_prompt,
|
| 629 |
st.session_state.enable_tts_for_input_from_text_field,
|
| 630 |
st.session_state.system_prompt
|
|
@@ -693,12 +693,12 @@ def main_page():
|
|
| 693 |
|
| 694 |
# Interface utilisateur pour l'enregistrement audio
|
| 695 |
# st.write(f"🗣️ {get_translation('enregistrez_message')}")
|
| 696 |
-
elif audio:
|
| 697 |
# Traitement de l'entrée audio de l'utilisateur
|
| 698 |
-
if len(audio) > 0:
|
| 699 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as temp_audio:
|
| 700 |
-
audio.export(temp_audio.name, format="wav")
|
| 701 |
-
st.write(f"Frame rate: {audio.frame_rate}, Frame width: {audio.frame_width}, Duration: {audio.duration_seconds} seconds")
|
| 702 |
|
| 703 |
# Transcrire l'audio en texte
|
| 704 |
st.session_state.transcription = transcribe_audio(temp_audio, language=st.session_state.language_detected)
|
|
@@ -754,7 +754,10 @@ def main_page():
|
|
| 754 |
st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
|
| 755 |
|
| 756 |
if st.session_state.tts_audio:
|
| 757 |
-
st.session_state.audio_list.append(
|
|
|
|
|
|
|
|
|
|
| 758 |
else:
|
| 759 |
pass
|
| 760 |
|
|
@@ -785,7 +788,7 @@ def main_page():
|
|
| 785 |
'audio_list', 'full_response', 'tts_audio',
|
| 786 |
'tts_duration', 'timestamp', 'langues',
|
| 787 |
'nom_fichier', 'final_audio', 'response_generator',
|
| 788 |
-
'end_response', 'messages' ]
|
| 789 |
):
|
| 790 |
def delete_session_state_var(var_name: str):
|
| 791 |
if f"{var_name}" in st.session_state:
|
|
@@ -798,13 +801,14 @@ def main_page():
|
|
| 798 |
clear_inputs_garbages()
|
| 799 |
|
| 800 |
def on_languages_change() -> None:
|
|
|
|
| 801 |
"""Fonction de rappel pour le changement de langue(s) de destination."""
|
| 802 |
selected_language_names: List[str] = st.session_state.language_selector
|
| 803 |
st.session_state.selected_languages = [
|
| 804 |
{"language": lang, "iso-639-1": convert_language_name_to_iso6391(lang)}
|
| 805 |
for lang in selected_language_names
|
| 806 |
]
|
| 807 |
-
|
| 808 |
|
| 809 |
|
| 810 |
# Configuration de la barre latérale
|
|
|
|
| 571 |
|
| 572 |
with st.container(border=True):
|
| 573 |
# Interface utilisateur pour le chat textuel
|
| 574 |
+
st.session_state.user_input = st.chat_input(
|
| 575 |
get_translation("entrez_message")
|
| 576 |
)
|
| 577 |
+
st.session_state.audio = audiorecorder(
|
| 578 |
start_prompt=get_translation("cliquez_enregistrer"),
|
| 579 |
stop_prompt=get_translation("cliquez_arreter"),
|
| 580 |
pause_prompt=get_translation("cliquez_pause"),
|
| 581 |
show_visualizer=True,
|
| 582 |
key="vocal_chat_input"
|
| 583 |
)
|
| 584 |
+
if st.session_state.user_input:
|
| 585 |
|
| 586 |
# Réinitialiser l'état précédent
|
| 587 |
st.session_state.full_response = ""
|
| 588 |
|
| 589 |
with st.chat_message("user", avatar="👤"):
|
| 590 |
+
st.markdown(st.session_state.user_input)
|
| 591 |
|
| 592 |
# Traitement du message texte de l'utilisateur
|
| 593 |
if st.session_state.language_detected is None:
|
| 594 |
st.session_state.language_detected = detect_language(
|
| 595 |
+
input_text=st.session_state.user_input, temperature=0.01
|
| 596 |
)
|
| 597 |
|
| 598 |
st.session_state.audio_list = []
|
|
|
|
| 624 |
with st.chat_message("assistant", avatar="👻"):
|
| 625 |
message_placeholder = st.empty()
|
| 626 |
st.session_state.response_generator = process_message(
|
| 627 |
+
st.session_state.user_input,
|
| 628 |
st.session_state.operation_prompt,
|
| 629 |
st.session_state.enable_tts_for_input_from_text_field,
|
| 630 |
st.session_state.system_prompt
|
|
|
|
| 693 |
|
| 694 |
# Interface utilisateur pour l'enregistrement audio
|
| 695 |
# st.write(f"🗣️ {get_translation('enregistrez_message')}")
|
| 696 |
+
elif st.session_state.audio:
|
| 697 |
# Traitement de l'entrée audio de l'utilisateur
|
| 698 |
+
if len(st.session_state.audio) > 0:
|
| 699 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as temp_audio:
|
| 700 |
+
st.session_state.audio.export(temp_audio.name, format="wav")
|
| 701 |
+
st.write(f"Frame rate: {st.session_state.audio.frame_rate}, Frame width: {st.session_state.audio.frame_width}, Duration: {st.session_state.audio.duration_seconds} seconds")
|
| 702 |
|
| 703 |
# Transcrire l'audio en texte
|
| 704 |
st.session_state.transcription = transcribe_audio(temp_audio, language=st.session_state.language_detected)
|
|
|
|
| 754 |
st.session_state.tts_audio, st.session_state.tts_duration = process_tts_message(st.session_state.full_response)
|
| 755 |
|
| 756 |
if st.session_state.tts_audio:
|
| 757 |
+
st.session_state.audio_list.append(
|
| 758 |
+
( st.session_state.tts_audio,
|
| 759 |
+
st.session_state.tts_duration )
|
| 760 |
+
)
|
| 761 |
else:
|
| 762 |
pass
|
| 763 |
|
|
|
|
| 788 |
'audio_list', 'full_response', 'tts_audio',
|
| 789 |
'tts_duration', 'timestamp', 'langues',
|
| 790 |
'nom_fichier', 'final_audio', 'response_generator',
|
| 791 |
+
'end_response', 'messages', 'audio', 'user_input' ]
|
| 792 |
):
|
| 793 |
def delete_session_state_var(var_name: str):
|
| 794 |
if f"{var_name}" in st.session_state:
|
|
|
|
| 801 |
clear_inputs_garbages()
|
| 802 |
|
| 803 |
def on_languages_change() -> None:
|
| 804 |
+
clear_inputs_garbages()
|
| 805 |
"""Fonction de rappel pour le changement de langue(s) de destination."""
|
| 806 |
selected_language_names: List[str] = st.session_state.language_selector
|
| 807 |
st.session_state.selected_languages = [
|
| 808 |
{"language": lang, "iso-639-1": convert_language_name_to_iso6391(lang)}
|
| 809 |
for lang in selected_language_names
|
| 810 |
]
|
| 811 |
+
|
| 812 |
|
| 813 |
|
| 814 |
# Configuration de la barre latérale
|