Spaces:
Paused
Paused
rick
commited on
update demorrha
Browse files
app.py
CHANGED
|
@@ -210,29 +210,30 @@ def main():
|
|
| 210 |
|
| 211 |
# Initialisation de l'historique des messages avec le prompt système
|
| 212 |
if "messages" not in st.session_state:
|
| 213 |
-
st.session_state.messages = [
|
| 214 |
-
{"role": "system", "content": SYSTEM_PROMPT}
|
| 215 |
-
]
|
| 216 |
|
| 217 |
-
#
|
| 218 |
-
for message in st.session_state.messages
|
| 219 |
-
|
| 220 |
-
st.markdown(message["content"])
|
| 221 |
|
| 222 |
# Interface utilisateur pour le chat textuel
|
| 223 |
-
user_input
|
| 224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 225 |
with st.container(border=True):
|
| 226 |
# Interface utilisateur pour l'enregistrement audio
|
| 227 |
st.write("Ou enregistrez votre message audio :")
|
| 228 |
audio = audiorecorder("Cliquez pour enregistrer", "Cliquez pour arrêter l'enregistrement")
|
| 229 |
|
| 230 |
-
# Traitement du message textuel de l'utilisateur
|
| 231 |
-
if user_input:
|
| 232 |
-
if None == st.session_state.language_detected:
|
| 233 |
-
st.session_state.language_detected = language_detection(input_text=user_input, temperature=0.01)
|
| 234 |
-
init_process_mode()
|
| 235 |
-
process_message(user_input, operation_prompt=f"{OP_PROMPT}", tts_enabled=st.session_state.enable_tts_for_input_from_text_field)
|
| 236 |
|
| 237 |
# Traitement de l'entrée audio de l'utilisateur
|
| 238 |
if len(audio) > 0:
|
|
@@ -259,7 +260,7 @@ def main():
|
|
| 259 |
|
| 260 |
# Fonction de rappel pour le changement de langue
|
| 261 |
def on_language_change():
|
| 262 |
-
st.session_state.target_language = convert_language_name_to_iso6391(st.session_state.language_selector)
|
| 263 |
|
| 264 |
with st.container(border=True):
|
| 265 |
# Conteneur pour la sélection de la langue
|
|
|
|
| 210 |
|
| 211 |
# Initialisation de l'historique des messages avec le prompt système
|
| 212 |
if "messages" not in st.session_state:
|
| 213 |
+
st.session_state.messages = []
|
|
|
|
|
|
|
| 214 |
|
| 215 |
+
# Vérifier si un message système existe déjà dans st.session_state.messages
|
| 216 |
+
if not any(message["role"] == "system" for message in st.session_state.messages):
|
| 217 |
+
st.session_state.messages.insert(0, {"role": "system", "content": SYSTEM_PROMPT})
|
|
|
|
| 218 |
|
| 219 |
# Interface utilisateur pour le chat textuel
|
| 220 |
+
if user_input := st.chat_input("Entrez votre message ici:"):
|
| 221 |
+
# Traitement du message textuel de l'utilisateur
|
| 222 |
+
if None == st.session_state.language_detected:
|
| 223 |
+
st.session_state.language_detected = language_detection(input_text=user_input, temperature=0.01)
|
| 224 |
+
init_process_mode()
|
| 225 |
+
process_message(user_input, operation_prompt=f"{OP_PROMPT}", tts_enabled=st.session_state.enable_tts_for_input_from_text_field)
|
| 226 |
+
# #################################################################
|
| 227 |
+
# Affichage de l'historique des messages (sauf le message système)
|
| 228 |
+
for message in st.session_state.messages[1:]:
|
| 229 |
+
with st.chat_message(message["role"]):
|
| 230 |
+
st.markdown(message["content"])
|
| 231 |
+
|
| 232 |
with st.container(border=True):
|
| 233 |
# Interface utilisateur pour l'enregistrement audio
|
| 234 |
st.write("Ou enregistrez votre message audio :")
|
| 235 |
audio = audiorecorder("Cliquez pour enregistrer", "Cliquez pour arrêter l'enregistrement")
|
| 236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
|
| 238 |
# Traitement de l'entrée audio de l'utilisateur
|
| 239 |
if len(audio) > 0:
|
|
|
|
| 260 |
|
| 261 |
# Fonction de rappel pour le changement de langue
|
| 262 |
def on_language_change():
|
| 263 |
+
st.session_state.target_language, st.session_state.messages = convert_language_name_to_iso6391(st.session_state.language_selector) , []
|
| 264 |
|
| 265 |
with st.container(border=True):
|
| 266 |
# Conteneur pour la sélection de la langue
|