"Backend API (FastAPI) pour le Professeur IA multilingue (Français, Mooré, Dioula). Système expert hybride et IA (Whisper, LLM, gTTS) dédié à l'éducation primaire au Burkina Faso."fastapi artificial-intelligence education nlp whisper llm burkina-faso moore dioula
# 🎓 Professeur IA Multilingue — Backend
Bienvenue sur le dépôt backend du projet **Professeur IA Multilingue**.
Il s'agit de l'API de l'application éducative destinée aux écoles primaires du Burkina Faso, conçue par le **Groupe 5**. L'application propose un assistant pédagogique dopé à l'intelligence artificielle (IA) capable de comprendre et de parler **Français, Mooré et Dioula**.
Ce backend orchestre un pipeline intelligent et hybride :
1. **Système Expert (SE)** pour encoder les règles pédagogiques.
2. **Modèles d'Apprentissage (ML & LLM)** pour la transcription vocale, la compréhension, et la synthèse vocale.
## 🚀 Fonctionnalités Principales
* **🎙️ Multilingue et Vocal :** Reconnaissance vocale (STT avec Whisper) et Synthèse vocale (TTS avec gTTS) en Français, Mooré et Dioula.
* **🧠 IA Adaptative :** Génération de réponses et d'explications (Llama 3 / Mistral) avec ajustement automatique selon le niveau scolaire de l'enfant.
* **📚 Recommandations Personnalisées :** Parcours d'apprentissage individualisé et évaluation continue des compétences (Skills).
* **⚡ Mode Hors-Ligne :** Architecture pensée pour télécharger du contenu et des réponses pré-générées pour les environnements à connectivité limitée.
* **👨👩👧👦 Multi-acteurs :** Espaces dédiés pour les apprenants (élèves), les parents (suivi des performances), et les enseignants.
## 🛠️ Stack Technique
* **Framework API :** FastAPI avec documentation Swagger UI intégrée
* **Base de données :** PostgreSQL 15+ (via SQLAlchemy 2.0 async & asyncpg)
* **Migrations :** Alembic
* **Gestion des tâches :** Celery (pour les traitements audio lourds)
* **IA & NLP :** LangChain, Whisper, Llama 3 / Mistral, gTTS
## 📁 Architecture du projet
L'architecture suit les meilleures pratiques Domain-Driven Design (DDD) :
```text
├── alembic/ # Migrations de base de données
├── core/ # Configuration (DB, Sécurité, Variables d'environnement)
├── models/ # Modèles SQLAlch …