mechakc's picture
Update README.md
4b8348c verified
|
Raw
History Blame Contribute Delete
3.32 kB
metadata
title: CodeAlpha Language Translator
emoji: 🌐
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 8501
pinned: false

🌐 CodeAlpha_LanguageTranslator

Outil de traduction de texte réalisé dans le cadre du stage Artificial Intelligence @ CodeAlpha — Task 1.

🧠 Approche technique

Contrairement à une simple intégration d'API de traduction (Google Translate API, Microsoft Translator), ce projet utilise un véritable modèle de deep learning chargé et exécuté localement via la librairie Hugging Face transformers :

  • Modèle : facebook/nllb-200-distilled-600M (Meta AI — No Language Left Behind)
  • Architecture : Transformer Seq2Seq (encoder-decoder), pré-entraîné
  • Particularité : un seul modèle gère la traduction entre ~200 langues, contrairement aux modèles Helsinki-NLP/opus-mt qui nécessitent un modèle différent par paire de langues
  • Inférence : chargement direct via AutoTokenizer + AutoModelForSeq2SeqLM, puis génération avec model.generate(...), en local, sans dépendre d'une API tierce payante

Ce choix technique est plus proche de l'esprit "AI model development" du stage, car il implique le chargement, la manipulation et l'inférence d'un vrai modèle de NLP, plutôt qu'un simple appel HTTP à un service externe.

🚀 Fonctionnalités

  • Interface utilisateur simple (Streamlit) pour saisir du texte
  • Sélection de la langue source (avec option de détection automatique via langdetect) et de la langue cible (14 langues)
  • Traduction via un modèle NLLB-200 chargé localement (transformers)
  • Affichage clair du texte traduit
  • 🔊 Bonus : synthèse vocale (text-to-speech) de la traduction via gTTS
  • 📋 Bonus : bouton pour copier le texte traduit

🛠️ Installation

git clone https://github.com/<ton-username>/CodeAlpha_LanguageTranslator.git
cd CodeAlpha_LanguageTranslator
pip install -r requirements.txt

⚠️ Le premier lancement télécharge le modèle NLLB-200 (~2.4 Go) depuis Hugging Face. Une connexion internet est nécessaire uniquement lors de ce premier téléchargement — les lancements suivants utilisent le modèle mis en cache localement.

▶️ Lancer l'application

streamlit run app.py

L'application s'ouvre automatiquement dans le navigateur à l'adresse http://localhost:8501.

📦 Technologies utilisées

📸 Utilisation

  1. L'utilisateur entre un texte
  2. Il choisit la langue source (ou laisse la détection automatique) et la langue cible
  3. Il clique sur "Traduire" — le modèle NLLB-200 effectue l'inférence localement
  4. Le texte traduit s'affiche, avec options d'écoute et de copie

🎓 Stage

Projet réalisé dans le cadre du CodeAlpha Artificial Intelligence Internship.