Une plateforme d'e-learning construite autour d'un assistant intelligent : les apprenants posent des questions contextuelles et obtiennent des réponses ancrées, reçoivent des recommandations de contenu personnalisées, et voient leur progression suivie automatiquement au lieu de naviguer dans un catalogue de cours statique.
Le problème et les contraintes
Un chat LLM générique greffé sur une plateforme de cours a tendance à répondre à des questions déconnectées de ce sur quoi l'apprenant travaille réellement, et n'offre aucun moyen de savoir si l'interaction l'a réellement aidé à progresser. L'objectif était un assistant contextuel au contenu et à la progression actuels de l'apprenant, pas un widget de chat générique.
Approche
- Backend FastAPI exposant une API REST consommée par le frontend de la plateforme, gardant la logique de l'assistant IA comme un service distinct plutôt que mêlée au rendu des pages.
- Intégration de l'API OpenAI pour la logique de questions-réponses et de recommandation, avec des prompts limités au contexte du cours actuel de l'apprenant plutôt qu'un chat ouvert.
- Le suivi de progression modélisé comme une préoccupation à part entière, alimentant en retour ce que la logique de recommandation considère comme le prochain contenu pertinent.
Description complète :
- platform frontend → FastAPI service — assistant kept — behind REST (REST)
- FastAPI service — assistant kept — behind REST → course context — scopes every prompt
- FastAPI service — assistant kept — behind REST → progress tracking — feeds what comes next
- course context — scopes every prompt → OpenAI API — Q&A + — recommendations (prompt)
- progress tracking — feeds what comes next → OpenAI API — Q&A + — recommendations
Compromis faits
Decision
Un assistant limité et conscient du contexte plutôt qu'un chatbot généraliste : contraindre l'assistant au contenu actuel de l'apprenant a rendu les réponses plus pertinentes, au prix de davantage de travail pour intégrer le contexte dans chaque prompt plutôt que de livrer un widget de chat prêt à l'emploi.
Decision
Une frontière API REST entre le backend et la logique IA : a gardé l'assistant remplaçable/testable indépendamment du frontend, plutôt que de coupler directement les appels au LLM dans le code d'interface.
Résultats
Une plateforme fonctionnelle où les réponses et recommandations de l'assistant sont liées à ce que l'apprenant étudie réellement, avec une progression suivie automatiquement plutôt qu'auto-déclarée.
Ce que je referais différemment
Ajouter une évaluation automatisée de la qualité des réponses (même un petit jeu de test étiqueté) plutôt que de s'appuyer sur des vérifications manuelles ponctuelles — pour un produit éducatif, des réponses silencieusement fausses sont un vrai risque qui mérite d'être testé explicitement.