FORPY Application d'apprentissage Python avec l'IA
FORPY est une application open source que j'ai développée pour proposer une nouvelle manière d'apprendre Python avec l'intelligence artificielle.
- Plutôt que de proposer une liste fixe d'exercices, le LLM va générer en volume des exercices adaptés au niveau de l'utilisateur
- Puis lui fournir immédiatement la correction, l'explication du code et un accompagnement pas à pas ?
Le but est de s'exercer à python par la répétition avec un volume conséquent de petits exercices.
L'utilisateur conserve la maîtrise de ses données et de sa consommation d'API.
C'est une démarche Prompt-Driven, la base de données sont les Prompt. Ensuite l'App dialogue avec le LLM pour fournir les exercices selon des exigeances très précises.
La conception du système de génération IA
Le cœur de FORPY repose sur un système de prompts spécialisé par sous-niveau.
Plutôt que d'utiliser un unique prompt générique du type « génère-moi un exercice Python », chaque partie du parcours possède ses propres instructions pédagogiques.
Le projet contient ainsi un ensemble de prompts dédiés aux différents niveaux et modes d'apprentissage.
L'objectif est de contraindre suffisamment le modèle pour obtenir des exercices cohérents avec le niveau choisi, tout en conservant suffisamment de liberté pour générer des situations différentes.
Faire du local un choix architectural
FORPY ne possède pas de backend chargé de centraliser les utilisateurs ou leurs clés API. La clé est conservée localement sur l'appareil et les requêtes sont envoyées directement au fournisseur d'IA choisi.
Ce choix permet également de supprimer :
- la création de compte ;
- l'abonnement ;
- un backend à maintenir ;
- une base de données utilisateurs ;
- une infrastructure serveur pour faire fonctionner l'application.
L'utilisateur garde ainsi le contrôle de ses données et de ses dépenses API.
Structurer le code pour pouvoir faire évoluer FORPY
L'architecture du projet sépare clairement les responsabilités :
UI
Les différents écrans de l'application.
Services
Les appels IA et la construction des prompts.
Prompts
Le contenu pédagogique spécifique à chaque niveau.
Utils
État de session, thème, traductions et configuration.
Assets
Logos, icônes et supports visuels.
Tests
Tests automatisés du projet.
Cette organisation permet notamment d'ajouter de nouveaux niveaux ou de nouveaux fournisseurs IA sans transformer le projet en bloc monolithique.
MAJ ?
Je vais effectuer très prochainement une mise à jour, pour ajouter le Machine Learning.