Skip to content

TP EPF 2026 : muscler les exemples guidés issus des solutions étudiantes (seconde passe, notebook par notebook) #18574

Description

@myia-ai-01

Contexte

Pendant les TP EPF de septembre 2026, des élèves ont résolu les exercices d'une douzaine de notebooks GenAI. Leurs solutions ont été intégrées comme exemples guidés crédités, et chaque exercice résolu a été remplacé par un nouvel exercice. L'intégration s'est faite au fil des restitutions : relecture, re-exécution, ajout d'une lecture du résultat.

Ce rythme a laissé passer des exemples guidés légers : ils tournent et leurs sorties sont justes, mais ils n'exercent pas vraiment l'outil que le notebook enseigne. Le cas le plus net est SK-08-MCP (#18573), qui simule le protocole au lieu de l'utiliser. Il a son issue dédiée. Les autres notebooks méritent une seconde passe, dans les semaines qui viennent.

À quoi se reconnaît un exemple guidé léger

  • Il manipule une structure écrite à la main au lieu de l'objet réel : un dictionnaire à la place d'une réponse d'API, une liste à la place d'un serveur.
  • Il reste en surface (noms, comptes, mots-clés) et ne descend pas à la granularité qui porte le concept : schéma et types d'un outil, tokens et probabilités, pixels d'une image, segments et timestamps d'une transcription, octets d'un modèle quantifié.
  • Il appelle directement une fonction que le notebook veut voir appelée par le modèle ou le framework, par exemple une méthode décorée invoquée comme une fonction Python ordinaire.
  • Sa sortie n'est ni vérifiée ni comparée : aucune référence, aucun cas qui échoue, aucune mesure.
  • Il est long pour un résultat que sa propre lecture doit ensuite relativiser.

Notebooks concernés

Notebook PR d'intégration
GenAI/Texte/01_OpenAI_Intro.ipynb #18560 (en cours)
GenAI/Texte/02_PromptEngineering.ipynb #18552
GenAI/Texte/03_Structured_Outputs.ipynb #18488
GenAI/Texte/06_PDF_Web_Search.ipynb #18567 (en cours)
GenAI/Texte/11_Quantization.ipynb #18568 (en cours)
GenAI/Image/01-Foundation/01-1-OpenAI-DALL-E-3.ipynb #18449, #18561
GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb #18549, #18569 (en cours)
GenAI/Video/01-Foundation/01-1-Video-Operations-Basics.ipynb #18484
GenAI/FineTuning/FT-02-QLoRA-Quantization-Python.ipynb #18550
GenAI/SemanticKernel/08-SemanticKernel-MCP.ipynb #18553 : refonte portée par #18573
GenAI/Vibe-Coding/Claude-Code/notebooks/01-Claude-CLI-Bases.ipynb #18563
GenAI/Vibe-Coding/Claude-Code/notebooks/04-Claude-CLI-Agents.ipynb #18565

La liste s'allonge avec les TP suivants : chaque nouvelle intégration s'ajoute ici en commentaire.

Méthode, notebook par notebook

  1. Lire chaque exemple guidé avec une seule question : exerce-t-il l'organe que le notebook enseigne (l'API, le SDK, le protocole, le modèle), à la granularité qui porte le concept ?
  2. Poser un verdict, en commentaire de cette issue : SOLIDE, À MUSCLER ou À REFONDER, avec la raison en une ou deux phrases.
  3. Muscler sans effacer : garder le code de l'élève et son crédit, puis ajouter ce qui manquait (la vérification, la granularité, l'appel réel). Réécrire la lecture du résultat sur la nouvelle sortie.
  4. Vérifier l'exercice qui remplace l'ancien : il doit rester différent de l'exemple guidé et d'un niveau comparable.
  5. Re-exécuter : Papermill de bout en bout, 0 erreur, sorties committées, CSV de traduction synchronisé.

Une PR par notebook, pour qu'elle reste lisible. Commencer par les notebooks les plus réservés aux TP.

Critères d'acceptation

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions