Repository navigation
feat(genai,#18574): muscle l'exemple guide 2 de 02_PromptEngineering — few-shot contre zero-shot mesure - #18867
Conversation
…(few-shot contre zero-shot mesure) Seconde passe EPF du carnet GenAI/Texte/02_PromptEngineering : l'exemple guide 2 (few-shot, contribution etudiante PR #18552) est conserve tel quel, la mesure qui manquait est ajoutee apres sa lecture. - cellule de mesure : meme tache, deux conditions (prompt de l'eleve contre le meme prive de ses exemples), sur 4 termes disjoints des exemples du prompt, avec verification automatique (traduction de reference + 4 rubriques, accents ignores) ; - resultat mesure : zero-shot 4/4 traductions / 0/4 rubriques ; few-shot 4/4 / 4/4 — les exemples n'ajoutent pas de justesse ici, ils rendent obligatoires les rubriques ; - re-execution Papermill de bout en bout (24 cellules code, 0 erreur, 169,8 s) ; - deux lectures dont les chiffres citaient l'ancienne execution sont re-alignees sur la nouvelle (temps chat/reasoning, citation d'exemple du tableau zero-shot). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
…ectures alignees La premiere re-execution du carnet muscle avait tourne sous le noyau Python 3.13, hors canon de la serie GenAI/Texte (kernelspec python3 + language_info 3.10.11, confirme par les jumeaux 01_ et 03_) : le garde check_kernel_drift signalait '3.10.11' -> '3.13.14'. Re-execution sous mcp-jupyter-py310 (3.10.18). Success 1 / Failed 0 / 229,8 s ; 24 cellules code, 0 execution_count nul, 0 erreur. Les sorties etant stochastiques, les trois cellules de lecture sont recalees sur la sortie reellement committee plutot que sur la precedente : - [16] citation C++ remplacee par la formulation produite - [28] distribution zero-shot corrigee (2 reponses gardent Traduction/Domaine, les 2 autres n'en portent aucune) ; les comptes 4/4 et 0/4 sont inchanges - [54] temps mesures 9,73 s (chat) / 4,24 s (raisonnement) Cellules code byte-identiques a HEAD ; aucune source modifiee. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Réparation de la dérive de noyau signalée sur cette PR — commit Cause. La première exécution était passée sous Python 3.13, hors du canon de la série Correctif. Le carnet est ré-exécuté sous Effet de bord traité. Les sorties étant stochastiques, trois cellules de lecture citaient les valeurs du run précédent. Elles sont recâlées sur la sortie réellement committée — sans toucher une seule cellule de code (les 24 sources code sont byte-identiques à la tête précédente) :
Le body de la PR est mis à jour (résumé d'exécution + section noyau). |
|
[ADJOINT PREFLIGHT] note: Troisieme dossier c368. feat(genai,#18574) muscle l'exemple guide 2 du carnet 02_PromptEngineering sans l'effacer. Cellule code eleve (PR #18552 @StarkMac22/@Will-emma) inchangee, credit preserve. 2 cellules ajoutees (intro montage + mesure few-shot vs zero-shot sur 4 termes avec verificateur rubriques), 1 cellule lecture derivee. Mesure : zero-shot 4/4 traductions + 0/4 rubriques ; few-shot 4/4 + 4/4. Papermill end-to-end Success 24 cellules code, kernel python3.10.18 (canon, drift 0), 0 erreur, execution_count maintenu, metadonnees papermill normalisees. Lane porteuse myia-po-2025:CoursIA (DIFFERENTE de ma lane :CoursIA-3). Crible de fond : pas de source collapse, exercice 2 inchange (autre type : justesse classification 8 cas, l'exemple muscle la forme sur 4 termes), pas d'identifiants accentues, pas de hand-edit de sortie. PR gate success a 22:23:30Z, 0 fails, B.0 rc=0. MED/notebook-python -> merge_ready eligible, dossier tiers debloque. |
Grain: MED/notebook-python — lane myia-po-2025:CoursIA — prev: DEEP/research-code #18811
Contexte
Seconde passe EPF (#18574), carnet
GenAI/Texte/02_PromptEngineering.ipynb. Verdicts posés sur l'issue (commentaire 2026-10-02) : exemple guidé 1 SOLIDE, exemple guidé 2 À MUSCLER, cascade SOLIDE. Cette PR traite le seulÀ MUSCLER.Ce que fait la PR — muscler l'exemple guidé 2 sans l'effacer
L'exemple guidé 2 (few-shot, traduction technique, contribution de @StarkMac22 / @Will-emma, PR #18552) est conservé tel quel : cellule code inchangée, crédit intact. Ce qui manquait était la mesure : la démonstration montrait une réponse unique et lui attribuait la copie de la forme, alors que la Partie 2 du carnet affirme une « amélioration significative » du few-shot.
Deux cellules ajoutées après la lecture d'origine :
Le muscle, mesuré (résultats de l'exécution, reproductibles) : zero-shot 4/4 traductions attendues présentes, 0/4 réponses portant les 4 rubriques ; few-shot 4/4 et 4/4. Deux réponses zero-shot (« fuite de données », « apprentissage par transfert ») gardent
TraductionetDomainemais perdentDefinitionetExemple; les deux autres n'en portent aucune. Autrement dit, sur ces termes courants, les exemples n'ajoutent pas de justesse — ils rendent obligatoires en pratique les rubriques que la consigne énumérait déjà, exactement la « copie de forme » que la lecture d'origine attribuait aux exemples. Une cellule de lecture dérivée de ces mesures suit la cellule de code.L'exercice remplaçant reste différent (étape 4 de la méthode)
L'exercice 2 (« Few-shot contre zero-shot, mesuré sur un jeu étiqueté », classification de messages de commit, 8 cas, 3 exemples choisis par l'élève, analyse des erreurs ambiguës) est inchangé et reste d'un autre type : la musculation de l'exemple mesure la forme (rubriques, traduction de référence) sur 4 termes, l'exercice mesure la justesse de classification sur 8 cas avec tri des erreurs modèle/étiquette. L'exercice demande en plus d'écrire
classer()(construction du prompt, normalisation, gestion du budget de jetons).Vérifications
scripts/notebook_tools/notebook_tools.py execute(kernelmcp-jupyter-py310,--batch-mode) : Success — 24 cellules code exécutées, 0 erreur, temps total 229,8 s.check_kernel_drift.py origin/main --explain→OK: 0 kernel-drift regression. La première exécution tournait sous Python 3.13, hors canon (kernelspec python3+language_info 3.10.x, confirmé par les jumeaux01_et03_) ; le carnet est ré-exécuté sous 3.10.18.execution_countrenseignés (24 cellules code), sorties committées.scrub_papermill_paths.py).translation-sync.yml) — conforme au précédent TP Prompt Engineering (02) : exercices 1 et 2 #18552 (aucun CSV dans le diff).Portée
Un seul fichier :
MyIA.AI.Notebooks/GenAI/Texte/02_PromptEngineering.ipynb. Aucune cellule code existante modifiée (ajout seul), aucun exercice touché, crédits étudiants conservés.See #18574
🤖 Generated with Claude Code