mechakc commited on
Commit
52c2287
·
verified ·
1 Parent(s): 21e4d52

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +71 -12
README.md CHANGED
@@ -1,20 +1,79 @@
1
  ---
2
- title: CodeAlpha LanguageTranslator
3
- emoji: 🚀
4
- colorFrom: red
5
- colorTo: red
6
  sdk: docker
7
  app_port: 8501
8
- tags:
9
- - streamlit
10
  pinned: false
11
- short_description: Streamlit template space
12
- license: mit
13
  ---
14
 
15
- # Welcome to Streamlit!
16
 
17
- Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
18
 
19
- If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
20
- forums](https://discuss.streamlit.io).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: CodeAlpha Language Translator
3
+ emoji: 🌐
4
+ colorFrom: blue
5
+ colorTo: purple
6
  sdk: docker
7
  app_port: 8501
 
 
8
  pinned: false
 
 
9
  ---
10
 
11
+ # 🌐 CodeAlpha_LanguageTranslator
12
 
13
+ Outil de traduction de texte réalisé dans le cadre du stage **Artificial Intelligence @ CodeAlpha** — Task 1.
14
 
15
+ ## 🧠 Approche technique
16
+
17
+ Contrairement à une simple intégration d'API de traduction (Google Translate API, Microsoft Translator), ce projet
18
+ utilise un **véritable modèle de deep learning chargé et exécuté localement** via la librairie Hugging Face
19
+ `transformers` :
20
+
21
+ - **Modèle :** [`facebook/nllb-200-distilled-600M`](https://huggingface.co/facebook/nllb-200-distilled-600M)
22
+ (Meta AI — *No Language Left Behind*)
23
+ - **Architecture :** Transformer Seq2Seq (encoder-decoder), pré-entraîné
24
+ - **Particularité :** un seul modèle gère la traduction entre **~200 langues**, contrairement aux modèles
25
+ Helsinki-NLP/opus-mt qui nécessitent un modèle différent par paire de langues
26
+ - **Inférence :** réalisée via `transformers.pipeline("translation", ...)`, en local, sans dépendre d'une API
27
+ tierce payante
28
+
29
+ Ce choix technique est plus proche de l'esprit "AI model development" du stage, car il implique le chargement,
30
+ la manipulation et l'inférence d'un vrai modèle de NLP, plutôt qu'un simple appel HTTP à un service externe.
31
+
32
+ ## 🚀 Fonctionnalités
33
+
34
+ - Interface utilisateur simple (Streamlit) pour saisir du texte
35
+ - Sélection de la langue source (avec option de **détection automatique** via `langdetect`) et de la langue cible
36
+ (14 langues)
37
+ - Traduction via un modèle NLLB-200 chargé localement (`transformers`)
38
+ - Affichage clair du texte traduit
39
+ - 🔊 Bonus : synthèse vocale (text-to-speech) de la traduction via `gTTS`
40
+ - 📋 Bonus : bouton pour copier le texte traduit
41
+
42
+ ## 🛠️ Installation
43
+
44
+ ```bash
45
+ git clone https://github.com/<ton-username>/CodeAlpha_LanguageTranslator.git
46
+ cd CodeAlpha_LanguageTranslator
47
+ pip install -r requirements.txt
48
+ ```
49
+
50
+ > ⚠️ Le premier lancement télécharge le modèle NLLB-200 (~2.4 Go) depuis Hugging Face. Une connexion internet
51
+ > est nécessaire uniquement lors de ce premier téléchargement — les lancements suivants utilisent le modèle
52
+ > mis en cache localement.
53
+
54
+ ## ▶️ Lancer l'application
55
+
56
+ ```bash
57
+ streamlit run app.py
58
+ ```
59
+
60
+ L'application s'ouvre automatiquement dans le navigateur à l'adresse `http://localhost:8501`.
61
+
62
+ ## 📦 Technologies utilisées
63
+
64
+ - [Streamlit](https://streamlit.io/) — interface utilisateur web
65
+ - [Hugging Face Transformers](https://huggingface.co/docs/transformers) — chargement et inférence du modèle NLLB-200
66
+ - [PyTorch](https://pytorch.org/) — backend de calcul pour le modèle
67
+ - [gTTS](https://github.com/pndurang/gTTS) — synthèse vocale (Google Text-to-Speech)
68
+ - [langdetect](https://github.com/Mimino666/langdetect) — détection automatique de la langue source
69
+
70
+ ## 📸 Utilisation
71
+
72
+ 1. L'utilisateur entre un texte
73
+ 2. Il choisit la langue source (ou laisse la détection automatique) et la langue cible
74
+ 3. Il clique sur "Traduire" — le modèle NLLB-200 effectue l'inférence localement
75
+ 4. Le texte traduit s'affiche, avec options d'écoute et de copie
76
+
77
+ ## 🎓 Stage
78
+
79
+ Projet réalisé dans le cadre du **CodeAlpha Artificial Intelligence Internship**.