Aider les enseignants à créer des supports de cours et des examens adaptés aux étudiants en situation de handicap
See the code
Ce projet a été réalisé dans le cadre du Hackathon SID 2026 (Inter-promo) du Master Sciences et Ingénierie des Données. Il regroupe des étudiants des 3 années du Master (L3, M1 et M2).
Infinity Blau est un agent conversationnel avec Interface utilisateur (chatbot) conçu pour le programme national Atypie-Friendly, une initiative visant à améliorer l'inclusion des étudiants présentant des Troubles du Neuro-Développement (TND) dans l'enseignement supérieur.
💙 Le nom "Infinity Blau" est un hommage au nom de notre équipe.
Fournir aux enseignants et aux équipes pédagogiques un outil fiable pour :
L'architecture suit un flux de données précis pour garantir la pertinence des réponses (Pattern RAG). Le Backend agit comme un orchestrateur entre la base de connaissances et l'IA.
graph TD;
%% Noeuds
User((Utilisateur))
Front[Frontend React]
Back[Backend FastAPI]
Vector[(FAISS Vector DB)]
LLM[Mistral AI]
%% Flux Standard
User -->|1. Pose une question| Front
Front -->|2. Envoie la requête| Back
subgraph RAG [Moteur RAG]
Back -->|3. Recherche sémantique| Vector
Vector -->|4. Renvoie les documents similaires à la question| Back
%% Flèches allongées (---) pour aérer l'affichage des titres 5 et 6
Back --->|5. Prompt: Question + Contexte| LLM
LLM --->|6. Génère la réponse| Back
end
Back -->|7. Stream la réponse| Front
Front -->|8. Affiche le message| User
%% Styles
style Back fill:#f9f,stroke:#333,stroke-width:2px
style Vector fill:#bbf,stroke:#333,stroke-width:2px
style LLM fill:#bfb,stroke:#333,stroke-width:2px
Chef de projet : Paulin Kodjovi
Encadrants : Philippe Berthet & Ronan Sicre
Pour faciliter le déploiement, nous proposons deux méthodes pour le Backend : via Docker (recommandé pour la stabilité) ou l'installation Standard (pour le développement).
Cette méthode garantit que l'application tourne dans un environnement isolé avec les bonnes versions de dépendances.
1. Préparer la configuration
Créez un fichier nommé .env dans le dossier chatbot/backend_fastapi et ajoutez votre clé API :
MISTRAL_API_KEY=votre_clé_api_ici
2. Construire et Lancer Ouvrez un terminal dans chatbot/backend_fastapi et lancez :
# 1. Construire l'image (peut prendre quelques minutes la première fois)
docker build -t atypie-backend .
# 2. Lancer le conteneur (en chargeant le fichier .env)
docker run -p 8000:8000 --env-file .env atypie-backend
Le serveur sera accessible sur http://localhost:8000
Utilisez cette méthode si vous souhaitez modifier le code ou si vous ne pouvez pas utiliser Docker.
1. Configuration de la clé API Avant tout, vous devez créer le fichier de configuration.
chatbot/backend_fastapi..env.MISTRAL_API_KEY=votre_clé_api_ici
2. Installation
Ouvrez votre terminal (PowerShell) dans le dossier chatbot/backend_fastapi :
# 1. Créer l'environnement virtuel
python -m venv venv
# 2. Activer l'environnement
.\venv\Scripts\activate
# 3. Installer les dépendances
pip install -r requirements.txt
3. Lancement
Toujours dans le même terminal (avec (venv) affiché au début de la ligne) :
# Lancer le serveur
uvicorn app_api_v2:app --reload
Le serveur sera accessible sur http://localhost:8000
Une fois le backend opérationnel (via Docker ou Python), vous devez lancer l'interface utilisateur.
1. Installation des dépendances Ouvrez un nouveau terminal (ne fermez pas celui du backend) et naviguez vers le dossier frontend :
cd chatbot/frontend
npm install
2. Configuration Supabase L'interface a besoin de se connecter à votre projet Supabase pour l'authentification et l'historique.
.env à la racine du dossier chatbot/chatbot.VITE_SUPABASE_URL=votre_url_supabase_ici
VITE_SUPABASE_ANON_KEY=votre_clé_anon_public_ici
3. Démarrage Lancez le serveur de développement :
npm run dev
L'application est maintenant accessible dans votre navigateur (généralement sur http://localhost:5173).
Afin de garantir que l'agent conversationnel réponde de manière factuelle sans "halluciner" et cite correctement ses sources, un framework d'évaluation rigoureux a été mis en œuvre. Basé sur une approche LLM-as-a-judge, la pipeline mesure la précision, le raisonnement et la qualité des documents récupérés (RAG).
Consultez la documentation complète de notre architecture d'évaluation dans le dossier /Analyses.
Aider les enseignants à créer des supports de cours et des examens adaptés aux étudiants en situation de handicap
See the code
Ce projet a été réalisé dans le cadre du Hackathon SID 2026 (Inter-promo) du Master Sciences et Ingénierie des Données. Il regroupe des étudiants des 3 années du Master (L3, M1 et M2).
Infinity Blau est un agent conversationnel avec Interface utilisateur (chatbot) conçu pour le programme national Atypie-Friendly, une initiative visant à améliorer l'inclusion des étudiants présentant des Troubles du Neuro-Développement (TND) dans l'enseignement supérieur.
💙 Le nom "Infinity Blau" est un hommage au nom de notre équipe.
Fournir aux enseignants et aux équipes pédagogiques un outil fiable pour :
L'architecture suit un flux de données précis pour garantir la pertinence des réponses (Pattern RAG). Le Backend agit comme un orchestrateur entre la base de connaissances et l'IA.
graph TD;
%% Noeuds
User((Utilisateur))
Front[Frontend React]
Back[Backend FastAPI]
Vector[(FAISS Vector DB)]
LLM[Mistral AI]
%% Flux Standard
User -->|1. Pose une question| Front
Front -->|2. Envoie la requête| Back
subgraph RAG [Moteur RAG]
Back -->|3. Recherche sémantique| Vector
Vector -->|4. Renvoie les documents similaires à la question| Back
%% Flèches allongées (---) pour aérer l'affichage des titres 5 et 6
Back --->|5. Prompt: Question + Contexte| LLM
LLM --->|6. Génère la réponse| Back
end
Back -->|7. Stream la réponse| Front
Front -->|8. Affiche le message| User
%% Styles
style Back fill:#f9f,stroke:#333,stroke-width:2px
style Vector fill:#bbf,stroke:#333,stroke-width:2px
style LLM fill:#bfb,stroke:#333,stroke-width:2px
Chef de projet : Paulin Kodjovi
Encadrants : Philippe Berthet & Ronan Sicre
Pour faciliter le déploiement, nous proposons deux méthodes pour le Backend : via Docker (recommandé pour la stabilité) ou l'installation Standard (pour le développement).
Cette méthode garantit que l'application tourne dans un environnement isolé avec les bonnes versions de dépendances.
1. Préparer la configuration
Créez un fichier nommé .env dans le dossier chatbot/backend_fastapi et ajoutez votre clé API :
MISTRAL_API_KEY=votre_clé_api_ici
2. Construire et Lancer Ouvrez un terminal dans chatbot/backend_fastapi et lancez :
# 1. Construire l'image (peut prendre quelques minutes la première fois)
docker build -t atypie-backend .
# 2. Lancer le conteneur (en chargeant le fichier .env)
docker run -p 8000:8000 --env-file .env atypie-backend
Le serveur sera accessible sur http://localhost:8000
Utilisez cette méthode si vous souhaitez modifier le code ou si vous ne pouvez pas utiliser Docker.
1. Configuration de la clé API Avant tout, vous devez créer le fichier de configuration.
chatbot/backend_fastapi..env.MISTRAL_API_KEY=votre_clé_api_ici
2. Installation
Ouvrez votre terminal (PowerShell) dans le dossier chatbot/backend_fastapi :
# 1. Créer l'environnement virtuel
python -m venv venv
# 2. Activer l'environnement
.\venv\Scripts\activate
# 3. Installer les dépendances
pip install -r requirements.txt
3. Lancement
Toujours dans le même terminal (avec (venv) affiché au début de la ligne) :
# Lancer le serveur
uvicorn app_api_v2:app --reload
Le serveur sera accessible sur http://localhost:8000
Une fois le backend opérationnel (via Docker ou Python), vous devez lancer l'interface utilisateur.
1. Installation des dépendances Ouvrez un nouveau terminal (ne fermez pas celui du backend) et naviguez vers le dossier frontend :
cd chatbot/frontend
npm install
2. Configuration Supabase L'interface a besoin de se connecter à votre projet Supabase pour l'authentification et l'historique.
.env à la racine du dossier chatbot/chatbot.VITE_SUPABASE_URL=votre_url_supabase_ici
VITE_SUPABASE_ANON_KEY=votre_clé_anon_public_ici
3. Démarrage Lancez le serveur de développement :
npm run dev
L'application est maintenant accessible dans votre navigateur (généralement sur http://localhost:5173).
Afin de garantir que l'agent conversationnel réponde de manière factuelle sans "halluciner" et cite correctement ses sources, un framework d'évaluation rigoureux a été mis en œuvre. Basé sur une approche LLM-as-a-judge, la pipeline mesure la précision, le raisonnement et la qualité des documents récupérés (RAG).
Consultez la documentation complète de notre architecture d'évaluation dans le dossier /Analyses.