Data Science2025

DoctorPy

PoC d'assistant IA pédagogique ayant servi de base à Space Coders Agency. Architecture microservices, cache intelligent et recherche sémantique.

PythonStreamlitFastAPIRAGMistral AIRedisMicroservicesEdTechNLP

Concept & Genèse

DoctorPy est un assistant IA conçu pour accompagner l'apprentissage de Python de manière personnalisée. Développé comme Proof of Concept lors d'un atelier avec apprenants et formateurs de la Wild Code School, il a servi de base expérimentale avant le lancement de Space Coders Agency. Problématiques adressées : • Les débutants ont besoin de réponses adaptées à leur niveau • Les questions récurrentes surchargent les formateurs • L'absence de feedback instantané freine la progression • Les ressources génériques ne s'adaptent pas au contexte de l'apprenant Approche pédagogique : • Réponses adaptatives selon le niveau (débutant, intermédiaire, avancé) • Exemples de code contextualisés et commentés • Sources citées pour approfondir (documentation officielle, bonnes pratiques) • Interface intuitive inspirée des chatbots modernes Ce PoC a validé l'intérêt de l'IA pédagogique auprès des utilisateurs finaux et a orienté l'architecture de Space Coders Agency.
3
Niveaux
<1ms
Latence cache
85%+
Confiance
Atelier WCS
Contexte
Page d'accueil DoctorPy
Dashboard : état du système, guide de démarrage et exemples de questions par niveau

Architecture Microservices

Architecture moderne basée sur des microservices indépendants, chacun spécialisé dans une fonction précise. Services principaux : • Service RAG (port 8002) — Cœur du système : génération de réponses enrichies par la base de connaissances • Analytics (port 8003) — Suivi des métriques d'utilisation et de performance • Quêtes IA (port 8004) — Système de gamification pour l'apprentissage ludique • Notifications (port 8006) — Rappels personnalisés et motivation Cache Intelligent Multi-niveaux : • L1 (Mémoire) — Cache ultra-rapide RAM (<1ms), 1000 entrées max • L2 (Redis) — Cache distribué pour scalabilité horizontale • L3 (Disque) — Cache persistant SQLite (500MB max) • Stratégies adaptatives : LRU, LFU, TTL, SMART selon le type de données Moteur de Recherche Sémantique : • Reconnaissance d'intention (8 types : learn, how_to, debug, explain, compare, example, best_practice, general) • Auto-complétion intelligente avec scoring de pertinence • Extraction d'entités Python (variables, fonctions, boucles, classes) • Détection de complexité automatique
4
Microservices
3
Niveaux cache
90%+
Hit rate
8 types
Intentions
Gestion du cache
1 / 2
Dashboard cache : statistiques temps réel, taux de hit, actions de maintenance

Réponses Pédagogiques

Le cœur de DoctorPy : des réponses structurées et adaptées au niveau de l'apprenant. Format de réponse standardisé : • Titre explicite du concept abordé • Explication accessible avec analogies (ex: "une variable est comme une boîte étiquetée") • Blocs de code syntaxiquement colorés avec commentaires • Règles importantes et pièges à éviter • Exemples pratiques progressifs • Sources consultables pour approfondir Adaptation au niveau : • Débutant — Explications simples, pas de jargon, exemples basiques • Intermédiaire — Concepts moyens, quelques termes techniques • Avancé — Concepts complexes, patterns, optimisations Concepts couverts : • Variables, types de données, opérateurs • Structures de contrôle (if, for, while) • Fonctions et paramètres • Listes, dictionnaires, tuples • Gestion des erreurs (try/except) • Programmation orientée objet
20+
Concepts
Progressifs
Exemples
Citées
Sources
Coloré
Code
Réponse sur les variables
1 / 3
Explication des variables : définition, syntaxe, règles de nommage, exemples

Interface Streamlit

Interface utilisateur moderne développée avec Streamlit, optimisée pour l'expérience d'apprentissage. Navigation par onglets : • Accueil — État du système, guide de démarrage, exemples de questions • Poser une question — Interface de chat avec configuration du niveau • Gestion du cache — Statistiques, optimisation, maintenance • Recherche — Exploration de la base de connaissances Fonctionnalités UX : • Questions fréquentes cliquables pour démarrer rapidement • Sélecteur de niveau intégré (débutant/intermédiaire/avancé) • Indicateurs de confiance et de source sur chaque réponse • Métadonnées de réponse (cache hit, temps de traitement) • Thème sombre professionnel Monitoring intégré : • État des services en temps réel • Statistiques de cache (hit rate, évictions) • Actions de maintenance en un clic
Streamlit
Framework
4
Onglets
Dark
Thème
Intégré
Monitoring
Interface de question
1 / 2
Formulaire de question avec sélection du niveau et suggestions fréquentes
  _____  _____ _____
 |  __ \|  __ \_   _|
 | |__) | |__) || |
 |  _  /|  ___/ | |
 | | \ \| |    _| |_
 |_|  \_\_|   |_____|

Auto-hébergé sur Raspberry Pi 5

~/links

$ echo "Fait avec passion"

© 2026 Abdel Touati