Spaces:
Runtime error
Runtime error
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,20 +1,79 @@
|
|
| 1 |
---
|
| 2 |
-
title: CodeAlpha
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 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 |
-
#
|
| 16 |
|
| 17 |
-
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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**.
|