DinoFrog commited on
Commit
8775026
·
verified ·
1 Parent(s): feafe6a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -9
app.py CHANGED
@@ -5,10 +5,16 @@ from huggingface_hub import InferenceClient
5
  import pandas as pd
6
  import os
7
  import asyncio
8
- import deepl
 
 
 
 
 
 
 
9
 
10
  HF_TOKEN = os.getenv("HF_TOKEN")
11
- DEEPL_API_KEY = os.getenv("DEEPL_API_KEY") # Assurez-vous d'ajouter votre clé API DeepL dans les variables d'environnement
12
 
13
  # Fonction pour appeler l'API Zephyr avec des paramètres ajustés
14
  async def call_zephyr_api(prompt, mode, hf_token=HF_TOKEN):
@@ -33,17 +39,19 @@ classifier = pipeline("sentiment-analysis", model="mrm8488/distilroberta-finetun
33
 
34
  # Modèles de traduction
35
  translator_to_en = pipeline("translation", model="Helsinki-NLP/opus-mt-mul-en")
 
36
 
37
- # Traduction en français avec DeepL
38
  def safe_translate_to_fr(text, max_length=512):
39
- if not DEEPL_API_KEY:
40
- return "Erreur : Clé API DeepL manquante. Veuillez configurer DEEPL_API_KEY dans les variables d'environnement."
41
  try:
42
- translator = deepl.Translator(DEEPL_API_KEY)
43
- result = translator.translate_text(text, target_lang="FR")
44
- return result.text
 
 
 
45
  except Exception as e:
46
- return f"Erreur de traduction DeepL : {str(e)}"
47
 
48
  # Fonction pour suggérer le meilleur modèle
49
  def suggest_model(text):
 
5
  import pandas as pd
6
  import os
7
  import asyncio
8
+ import nltk
9
+ from nltk.tokenize import sent_tokenize
10
+
11
+ # Téléchargement de punkt_tab avec gestion d'erreur
12
+ try:
13
+ nltk.download('punkt_tab', download_dir='/usr/local/share/nltk_data')
14
+ except Exception as e:
15
+ raise Exception(f"Erreur lors du téléchargement de punkt_tab : {str(e)}. Veuillez vérifier votre connexion réseau et les permissions du répertoire /usr/local/share/nltk_data.")
16
 
17
  HF_TOKEN = os.getenv("HF_TOKEN")
 
18
 
19
  # Fonction pour appeler l'API Zephyr avec des paramètres ajustés
20
  async def call_zephyr_api(prompt, mode, hf_token=HF_TOKEN):
 
39
 
40
  # Modèles de traduction
41
  translator_to_en = pipeline("translation", model="Helsinki-NLP/opus-mt-mul-en")
42
+ translator_to_fr = pipeline("translation", model="Helsinki-NLP/opus-mt-en-fr")
43
 
44
+ # Traduction en français avec Helsinki-NLP
45
  def safe_translate_to_fr(text, max_length=512):
 
 
46
  try:
47
+ sentences = sent_tokenize(text)
48
+ translated_sentences = []
49
+ for sentence in sentences:
50
+ translated = translator_to_fr(sentence, max_length=max_length)[0]['translation_text']
51
+ translated_sentences.append(translated)
52
+ return " ".join(translated_sentences)
53
  except Exception as e:
54
+ return f"Erreur de traduction : {str(e)}"
55
 
56
  # Fonction pour suggérer le meilleur modèle
57
  def suggest_model(text):