Spaces:
Paused
Paused
rick
commited on
fix errors...
Browse files- app.py +16 -79
- scripts/gen_ui_lang_support.py +1 -3
- ui_lang_support.json +0 -0
app.py
CHANGED
|
@@ -9,91 +9,30 @@ import os
|
|
| 9 |
import io
|
| 10 |
import time
|
| 11 |
import re
|
|
|
|
|
|
|
| 12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# Dictionnaire pour stocker les traductions
|
| 15 |
-
traductions =
|
| 16 |
-
"Français": {
|
| 17 |
-
"titre": "------- DEMORRHA -------",
|
| 18 |
-
"entrez_message": "Entrez votre message ici:",
|
| 19 |
-
"enregistrez_message": "Ou enregistrez votre message audio :",
|
| 20 |
-
"cliquez_enregistrer": "Cliquez pour enregistrer",
|
| 21 |
-
"cliquez_arreter": "Cliquez pour arrêter l'enregistrement",
|
| 22 |
-
"cliquez_pause": "Cliquez pour mettre en pause",
|
| 23 |
-
"langue_detectee": "Langue détectée : {}",
|
| 24 |
-
"transcription": "Transcription : {}",
|
| 25 |
-
"sidebar_titre": "DEMORRHA - v1",
|
| 26 |
-
"a_propos": "À propos",
|
| 27 |
-
"info_app": "\n".join([
|
| 28 |
-
"Cette application utilise Streamlit et l'API d'OpenAI pour créer un chat interactif avec des modèles de langages avancés dans le but de fournir un outil permettant la communication entre les êtres humains.",
|
| 29 |
-
"Cet outil a pour objectif de montrer la voie dans un acte saint de la volonté de son auteur : ",
|
| 30 |
-
"Abattre les barrières linguistiques entre les hommes."
|
| 31 |
-
]),
|
| 32 |
-
"selection_langue": "Sélection de la langue",
|
| 33 |
-
"langues_destination": "Choisissez les langues de destination",
|
| 34 |
-
"placeholder_langues": "Sélectionnez une à quatre langue(s)",
|
| 35 |
-
"parametres_tts": "Paramètres TTS",
|
| 36 |
-
"choix_voix_tts": "Choisissez la voix TTS",
|
| 37 |
-
"activer_tts_texte": "Activer TTS pour les entrées textuelles",
|
| 38 |
-
"activer_tts_audio": "Activer TTS pour les entrées audio",
|
| 39 |
-
"erreur_fichier_non_trouve": "Erreur : Le fichier '{}' n'a pas été trouvé.",
|
| 40 |
-
"erreur_lecture_fichier": "Une erreur s'est produite lors de la lecture du fichier : {}",
|
| 41 |
-
"langue_interface": "Langue de l'interface",
|
| 42 |
-
"choix_langue_interface": "Choisissez la langue de l'interface",
|
| 43 |
-
"envoyer": "Envoyer",
|
| 44 |
-
"effacer": "Effacer",
|
| 45 |
-
"historique_conversation": "Historique de la conversation",
|
| 46 |
-
"effacer_historique": "Effacer l'historique",
|
| 47 |
-
"erreur_api": "Une erreur s'est produite lors de l'appel à l'API : {}",
|
| 48 |
-
"erreur_traitement": "Une erreur s'est produite lors du traitement de votre message : {}",
|
| 49 |
-
"erreur_tts": "Une erreur s'est produite lors de la génération du texte en parole : {}",
|
| 50 |
-
"chargement": "Chargement en cours...",
|
| 51 |
-
"aucun_message": "Aucun message pour le moment. Commencez la conversation !"
|
| 52 |
-
},
|
| 53 |
-
"English": {
|
| 54 |
-
"titre": "------- DEMORRHA -------",
|
| 55 |
-
"entrez_message": "Enter your message here:",
|
| 56 |
-
"enregistrez_message": "Or record your audio message:",
|
| 57 |
-
"cliquez_enregistrer": "Click to record",
|
| 58 |
-
"cliquez_arreter": "Click to stop recording",
|
| 59 |
-
"cliquez_pause": "Click to pause",
|
| 60 |
-
"langue_detectee": "Detected language: {}",
|
| 61 |
-
"transcription": "Transcription: {}",
|
| 62 |
-
"sidebar_titre": "DEMORRHA - v1",
|
| 63 |
-
"a_propos": "About",
|
| 64 |
-
"info_app": "\n".join([
|
| 65 |
-
"This application uses Streamlit and the OpenAI API to create an interactive chat with advanced language models in order to provide a tool for communication between humans.",
|
| 66 |
-
"This tool aims to lead the way in a holy act of its author's will:",
|
| 67 |
-
"Breaking down language barriers between people."
|
| 68 |
-
]),
|
| 69 |
-
"selection_langue": "Language selection",
|
| 70 |
-
"langues_destination": "Choose the destination languages",
|
| 71 |
-
"placeholder_langues": "Select one to four language(s)",
|
| 72 |
-
"parametres_tts": "TTS settings",
|
| 73 |
-
"choix_voix_tts": "Choose the TTS voice",
|
| 74 |
-
"activer_tts_texte": "Enable TTS for text input",
|
| 75 |
-
"activer_tts_audio": "Enable TTS for audio input",
|
| 76 |
-
"erreur_fichier_non_trouve": "Error: The file '{}' was not found.",
|
| 77 |
-
"erreur_lecture_fichier": "An error occurred while reading the file: {}",
|
| 78 |
-
"langue_interface": "Interface language",
|
| 79 |
-
"choix_langue_interface": "Choose the interface language",
|
| 80 |
-
"envoyer": "Send",
|
| 81 |
-
"effacer": "Clear",
|
| 82 |
-
"historique_conversation": "Conversation history",
|
| 83 |
-
"effacer_historique": "Clear history",
|
| 84 |
-
"erreur_api": "An error occurred during the API call: {}",
|
| 85 |
-
"erreur_traitement": "An error occurred while processing your message: {}",
|
| 86 |
-
"erreur_tts": "An error occurred during text-to-speech generation: {}",
|
| 87 |
-
"chargement": "Loading...",
|
| 88 |
-
"aucun_message": "No messages yet. Start the conversation!"
|
| 89 |
-
}
|
| 90 |
-
}
|
| 91 |
|
| 92 |
# Fonction pour obtenir les traductions en fonction de la langue sélectionnée
|
| 93 |
def _(key):
|
| 94 |
return traductions[st.session_state.interface_language][key]
|
| 95 |
|
| 96 |
-
|
| 97 |
# Configuration du client OpenAI avec la clé API
|
| 98 |
client = OpenAI(api_key=getenv("OPENAI_API_KEY"))
|
| 99 |
|
|
@@ -255,8 +194,6 @@ def process_message(message,
|
|
| 255 |
tts_audio, tts_duration = text_to_speech(full_response)
|
| 256 |
return tts_audio, tts_duration
|
| 257 |
return None, None
|
| 258 |
-
#st.audio(tts_audio, format="audio/mp3", autoplay=True)
|
| 259 |
-
|
| 260 |
|
| 261 |
# Classe pour stocker les prompts système globaux
|
| 262 |
class GlobalSystemPrompts:
|
|
|
|
| 9 |
import io
|
| 10 |
import time
|
| 11 |
import re
|
| 12 |
+
from typing import Union, Optional, Any
|
| 13 |
+
import json
|
| 14 |
|
| 15 |
+
def load_lang_ui(filepath: Optional[str] = "ui_lang_support.json") -> dict:
|
| 16 |
+
try:
|
| 17 |
+
with open(filepath, 'r', encoding='utf-8') as file:
|
| 18 |
+
return json.load(file)
|
| 19 |
+
except FileNotFoundError:
|
| 20 |
+
print(_("erreur_fichier_non_trouve").format(filepath))
|
| 21 |
+
return {}
|
| 22 |
+
except json.JSONDecodeError:
|
| 23 |
+
print(_("erreur_lecture_fichier").format("Erreur de décodage JSON"))
|
| 24 |
+
return {}
|
| 25 |
+
except Exception as e:
|
| 26 |
+
print(_("erreur_lecture_fichier").format(str(e)))
|
| 27 |
+
return {}
|
| 28 |
|
| 29 |
# Dictionnaire pour stocker les traductions
|
| 30 |
+
traductions = load_lang_ui()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
# Fonction pour obtenir les traductions en fonction de la langue sélectionnée
|
| 33 |
def _(key):
|
| 34 |
return traductions[st.session_state.interface_language][key]
|
| 35 |
|
|
|
|
| 36 |
# Configuration du client OpenAI avec la clé API
|
| 37 |
client = OpenAI(api_key=getenv("OPENAI_API_KEY"))
|
| 38 |
|
|
|
|
| 194 |
tts_audio, tts_duration = text_to_speech(full_response)
|
| 195 |
return tts_audio, tts_duration
|
| 196 |
return None, None
|
|
|
|
|
|
|
| 197 |
|
| 198 |
# Classe pour stocker les prompts système globaux
|
| 199 |
class GlobalSystemPrompts:
|
scripts/gen_ui_lang_support.py
CHANGED
|
@@ -5,9 +5,7 @@ from os import getenv
|
|
| 5 |
from typing import Optional, Any, Union
|
| 6 |
import re
|
| 7 |
import json
|
| 8 |
-
import time
|
| 9 |
import datetime
|
| 10 |
-
|
| 11 |
from openai import OpenAI
|
| 12 |
|
| 13 |
|
|
@@ -164,7 +162,7 @@ def generate_ui_lang_support(
|
|
| 164 |
if __name__ == "__main__":
|
| 165 |
JSON_UI_LANG_SUPPORT = generate_ui_lang_support(
|
| 166 |
base_ui_lang="Français",
|
| 167 |
-
target_ui_lang=
|
| 168 |
)
|
| 169 |
|
| 170 |
# encoding , fr_FR.UTF-8
|
|
|
|
| 5 |
from typing import Optional, Any, Union
|
| 6 |
import re
|
| 7 |
import json
|
|
|
|
| 8 |
import datetime
|
|
|
|
| 9 |
from openai import OpenAI
|
| 10 |
|
| 11 |
|
|
|
|
| 162 |
if __name__ == "__main__":
|
| 163 |
JSON_UI_LANG_SUPPORT = generate_ui_lang_support(
|
| 164 |
base_ui_lang="Français",
|
| 165 |
+
target_ui_lang=SUPPORTED_LANGUAGES_FR_
|
| 166 |
)
|
| 167 |
|
| 168 |
# encoding , fr_FR.UTF-8
|
ui_lang_support.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|