Skip to content

🤖AI English Tutor est une application web d'apprentissage linguistique basée sur l'intelligence artificielle. Le projet utilise des modèles NLP (Avec OLLAMA - Phi 3) pour engager des conversations interactives avec les utilisateurs. Il inclut également des fonctionnalités de transcription audio et de génération de réponses IA.

License

Notifications You must be signed in to change notification settings

JimmyCodeur/ai_english_tutor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet AI Tutor

Ce projet est une application web pour un service d'IA qui utilise des modèles de traitement du langage naturel (NLP) pour engager des conversations interactives. Le système comprend une API backend, un modèle d'IA pour la génération de texte, et des outils de transcription audio. Le projet est construit avec FastAPI et Docker pour une mise en œuvre continue via une pipeline CI/CD.

⚠️ Note Importante : Un GPU est obligatoire pour exécuter cette application de manière optimale. L'application utilise des modèles d'IA gourmands en ressources, tels que Whisper et Phi3 pour la transcription et la génération de texte. Assurez-vous que votre machine dispose d'un GPU compatible pour éviter les ralentissements ou échecs d'exécution.

Interface de l'application

Capture d'Ă©cran de l'IA

Démo Vidéo

Regardez la démo vidéo de l'application en cliquant sur le lien suivant :

Voir la démo sur YouTube

Fonctionnalités IA & principales

  • Chat IA : L'IA engage des conversations naturelles avec les utilisateurs.
  • Traduction de phrases : L'IA peut traduire des phrases en anglais vers le français Ă  la demande de l'utilisateur. Il suffit de dire : "How do you say in English : [votre phrase en français]".
  • Évaluation de phrases : L'IA Ă©value la qualitĂ© des phrases en anglais pour dĂ©terminer si elles sont acceptables dans une conversation simple.
  • DĂ©tection de langue : L'IA peut dĂ©tecter si l'utilisateur parle en français ou en anglais, et demande de parler en anglais si la langue n'est pas reconnue.
  • Transcription audio : Conversion de l'audio en texte Ă  l'aide de Whisper.
  • GĂ©nĂ©ration de rĂ©ponses : Utilisation du modèle Phi3 via l'API Ollama pour gĂ©nĂ©rer des rĂ©ponses personnalisĂ©es. Vous pouvez Ă©galement choisir et paramĂ©trer d'autres modèles d'Ollama.
  • Synthèse vocale (TTS) : Utilisation de Coqui TTS pour gĂ©nĂ©rer des fichiers audio Ă  partir de texte.
  • DurĂ©e personnalisĂ©e des sessions : Les utilisateurs peuvent choisir la durĂ©e de leurs sessions de conversation.
  • Historique des conversations : Les utilisateurs peuvent consulter l'historique de leurs conversations passĂ©es.
  • Compte rendu de session : Ă€ la fin de chaque session, un rapport dĂ©taillĂ© est gĂ©nĂ©rĂ©, incluant des statistiques et des analyses de performance.
  • Logs des mĂ©triques : Les temps de rĂ©ponse et autres mĂ©triques sont enregistrĂ©s dans des fichiers CSV pour analyse.
  • Pipeline CI/CD : Automatisation des tests et dĂ©ploiement continu avec Docker et GitHub Actions.
  • Tests automatisĂ©s : Tests unitaires et tests d'intĂ©gration pour valider les fonctionnalitĂ©s principales.

Fonctionnalités Utilisateur

  • Compte utilisateur : Chaque utilisateur dispose de son propre compte pour se connecter Ă  l'application, accĂ©der Ă  ses sessions passĂ©es et revoir son historique de conversation.
  • Historique des conversations : L'utilisateur peut visualiser toutes ses sessions de conversation antĂ©rieures avec des dĂ©tails sur chaque interaction.
  • Rapport de session : Ă€ la fin de chaque session, un rapport complet est gĂ©nĂ©rĂ©, comprenant des statistiques telles que le nombre de messages Ă©changĂ©s, les erreurs de comprĂ©hension, et une analyse des performances, notamment le temps de rĂ©ponse moyen et le nombre de phrases correctes.
  • DurĂ©e personnalisĂ©e des sessions : L'utilisateur peut dĂ©finir la durĂ©e de sa session avant de commencer, ce qui permet de personnaliser l'expĂ©rience selon ses besoins.

Technologies utilisées

  • Python 3.11
  • FastAPI pour l'API backend
  • Docker pour la conteneurisation
  • PostgreSQL pour la base de donnĂ©es
  • NLTK, SpaCy et Whisper pour les modèles de traitement du langage naturel
  • Coqui TTS pour la synthèse vocale
  • Ollama API pour la gĂ©nĂ©ration de texte (par dĂ©faut, le modèle Phi3 est utilisĂ©, mais d'autres modèles peuvent ĂŞtre configurĂ©s)
  • GitHub Actions pour CI/CD
  • MĂ©triques enregistrĂ©es en CSV pour les performances (temps de rĂ©ponse, qualitĂ© de la phrase, etc.)

Installation

Prérequis

  • Docker et Docker Compose
  • Python 3.11 et pip
  • GPU obligatoire : Assurez-vous que votre machine dispose d'un GPU compatible (ex. NVIDIA avec des pilotes CUDA) pour exĂ©cuter les modèles d'IA efficacement.

Étapes d'installation

  1. Clonez le dépôt :

    git clone https://github.com/votre-repository/ai_tutor.git
    cd ai_tutor
  2. Créez un fichier .env en copiant le fichier .env.example et modifiez-le avec vos informations de base de données :

    cp .env.example .env
  3. Construisez et démarrez les services Docker :

    docker-compose up --build
  4. Une fois que les conteneurs sont démarrés, vous pouvez accéder à l'application en ouvrant un navigateur et en visitant :

    http://localhost:8000
    
  5. Pour arrĂŞter les conteneurs Docker, utilisez la commande :

    docker-compose down

Configuration des modèles

  • Whisper : Le modèle de transcription audio Whisper peut ĂŞtre paramĂ©trĂ© selon les besoins en termes de prĂ©cision et de rapiditĂ©.
  • Ollama (Phi3 par dĂ©faut) : Vous pouvez choisir diffĂ©rents modèles d'Ollama pour la gĂ©nĂ©ration de rĂ©ponses. Par dĂ©faut, le modèle Phi3 est utilisĂ©, mais il est possible de configurer un autre modèle via les paramètres de l'API.

Tests et métriques

  • Tests unitaires : Le projet inclut des tests unitaires pour vĂ©rifier les principales fonctionnalitĂ©s de l'application.
  • Tests d'intĂ©gration IA : Des tests d'intĂ©gration sont Ă©galement disponibles pour valider le bon fonctionnement des composants IA.
  • Logs des mĂ©triques : Les mĂ©triques de performance comme les temps de rĂ©ponse (transcription, gĂ©nĂ©ration de texte) sont enregistrĂ©es dans un fichier CSV pour analyse.

About

🤖AI English Tutor est une application web d'apprentissage linguistique basée sur l'intelligence artificielle. Le projet utilise des modèles NLP (Avec OLLAMA - Phi 3) pour engager des conversations interactives avec les utilisateurs. Il inclut également des fonctionnalités de transcription audio et de génération de réponses IA.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published