Repository navigation
notebooks(genai,ml,symbolicai): mettre a jour les modeles obsoletes (124 fichiers, ~657 refs) plutot que de les re-executer #14755
Description
Activity
[CLAIMED] lane myia-po-2023:CoursIA-2 — tranche 1 #14755 : inventaire exhaustif des modèles obsolètes (git grep, comptage par fichier/famille/série) + table de correspondance ancien→nouveau par famille d'usage (chat, mini, transcribe, tts, realtime, embeddings), vérifiée contre l'API du fournisseur avant toute publication, le tout publié dans la PR de la tranche.
Aucune substitution de modèle dans cette tranche — l'inventaire et la table précèdent les tranches 2-5 (substitution + re-exécution). Les cibles nommées par le user (« OpenAI 5.6 », « Luna » mini) sont des noms commerciaux, pas des identifiants d'API : ils ne seront pas déduits, ils seront vérifiés firsthand contre les endpoints
/v1/models.scope: paths: docs/ci/, docs/ledgers/ (document d'inventaire+mapping publié en PR ; les notebooks GenAI/ML/SymbolicAI sont inventoriés en lecture seule, non édités dans cette tranche)
[CLAIMED-AMEND] lane myia-po-2023:CoursIA-2 -- paths: docs/genai/** (tranche 1 #14755 : inventaire + table de correspondance ancien->nouveau verifiee contre l API du fournisseur, publiee en PR. Aucune substitution de modele, aucun notebook edite dans cette tranche)
- added a commit that references this issue
on Sep 6, 2026 - addedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 7, 2026 [CLAIMED-AMEND] lane myia-po-2023:CoursIA-2 -- paths: docs/genai/model-mapping.md, docs/genai/** (tranche 1 livree : PR #15021 OPEN, branche fix/14755-tranche1-mapping, 1 fichier +115, table de correspondance publiee avec 4 statuts OBS/CUR-OFF/CUR-OR/PED, 124 fichiers inventaires, 8 familles d'usage identifiees, AUCUNE substitution de notebook -- gel explicite tranche 2 lookup API). Tranches 2-5 (substitution effective) restent dues : tranche 2 GenAI/Texte+SemanticKernel, tranche 3 GenAI/Audio, tranche 4 ML+SymbolicAI, tranche 5 Config+scripts+QC.
- removedcandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)Referenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
on Sep 8, 2026 - added a commit that references this issue
on Sep 9, 2026 [CLAIMED-AMEND] lane myia-po-2023:CoursIA-2 -- paths: MyIA.AI.Notebooks/GenAI/Texte/, MyIA.AI.Notebooks/GenAI/SemanticKernel/, docs/genai/model-mapping.md -- tranche 2 #14755 (découpage tranche 1 : GenAI/Texte + SemanticKernel) : (1) levée du gel — validation de la table contre GET /v1/models OpenAI + lookup OpenRouter, statuts confirmés dans le doc ; (2) substitution des identifiants OBS confirmés + re-exécution des notebooks substitués, PR par tranches. Hors scope : 10_LocalLlama.ipynb (PR #15018), conservations pédagogiques §4 (gpt-3.5-turbo historique 02-*, comparatifs gpt-4-turbo, dall-e-3 citations), placeholders gpt-invalid-model.
- added a commit that references this issue
on Sep 9, 2026 35 remaining items
Grain: MED/genai — lane myia-po-2025:CoursIA — prev: DEEP/notebook-python #17967
[CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Image/examples/science-diagrams.ipynb
Fournée F1 Image : contrôler la référence Vision gpt-4o en cellule, corriger le traitement de réponse JSON si confirmé par la réexécution de référence, puis réexécuter réellement le carnet et conserver ses sorties. Périmètre limité au carnet scientifique ; pas de substitution automatique des références pédagogiques historiques.- added a commit that references this issue
on Sep 26, 2026 - added a commit that references this issue
on Sep 27, 2026 - added a commit that references this issue
on Sep 28, 2026 - added a commit that references this issue
on Sep 29, 2026 [CLAIMED-AMEND] lane myia-po-2024:CoursIA-2 -- paths: MyIA.AI.Notebooks/GenAI/CaseStudies/Medical-Chatbot/medical_chatbot.ipynb, MyIA.AI.Notebooks/GenAI/CaseStudies/Medical-Chatbot/medical_chatbot_en.ipynb, MyIA.AI.Notebooks/GenAI/CaseStudies/Recipe-Maker/receipe_maker.ipynb, MyIA.AI.Notebooks/GenAI/Security/Tooling/Tooling-MCP-Attack-Surface.ipynb -- F7 CaseStudies+Security : substitution gpt-4o-mini/gpt-4o restants (code actif medical FR+EN, receipe, tooling MCP) + re-executions. L'ancien scope F4 (ML/** + SymbolicAI/**) est livre (F4a #16710 + F4b #16712 MERGED) ; barbie/fort-boyard ne portent que des fiches de cout du dernier run reel (conservées, rien du sans re-exec).
- added a commit that references this issue
on Oct 4, 2026 [CLAIMED] lane myia-po-2023:CoursIA -- dispatch coordinateur ai-01 (file profonde du 07/10) : tranche QuantConnect/ML des modeles obsoletes -- inventaire mesure puis remplacement, re-execution des seuls notebooks modifies.
[CLAIMED-AMEND] lane myia-po-2023:CoursIA -- paths: MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-26-LLM-Trading-Signals.ipynb, MyIA.AI.Notebooks/QuantConnect/README.md, MyIA.AI.Notebooks/QuantConnect/docs/HANDSON_DATA_REQUIREMENTS.md -- tranche QC du dispatch (file profonde 07/10) ; les labs ML DataScienceWithAgents et projects/ML-LLM-Summarization/main.py restent dans la même claim, traités en PRs suivantes (clés OpenRouter/ADK a vérifier ; main.py exige un backtest QC, noeud actuellement occupé)
[DELIVERED] tranche QuantConnect — lane myia-po-2023:CoursIA — PR #19731
Scope = claim amendée c.6040710527 (
paths:QC-Py-26 +QuantConnect/README.md+docs/HANDSON_DATA_REQUIREMENTS.md) :- Substitution : 38 refs gpt-4o-mini/gpt-4o/GPT-4 → gpt-5.6-luna/gpt-5.6-sol (mapping canonique
docs/genai/model-mapping-openai.md), 2 conservations délibérées (timeline historique cell 4), prix vérifiés firsthand OpenRouter 2026-10-07, 2 refs prose. - Adaptation API gpt-5.6 prouvée par 400 mesurés :
max_tokens→max_completion_tokens(champ + 3 sites),temperatureretiré des appels OpenAI + code de référence QC — sans ça, un étudiant branchant une vraie clé obtient un notebook en erreur 400 systématique. - Re-exécution C.2 : mode mock déterministe canonical (46/46 cellules, 0 erreur, 17/17 code séquentiel), prose coûts réalignée sur les sorties ($0.0019→$0.0034 luna).
- Signalé non touché : pairing
OPENAI_BASE_URLproxy master.env renvoie 401 « invalid proxy authentication » (clé OK en direct) — infra.secretspartagée, à arbitrer par le propriétaire du trousseau.
Résiduels sous la claim (PRs suivantes) : labs
ML/DataScienceWithAgents(analyse clé-par-clé OpenRouter/ADK, 2.9e = benchmark historique à conserver),projects/ML-LLM-Summarization/main.py:133(gate backtest G, nœud QC occupé par #19678), tranche Anthropic résiduelle (claude-3-5-sonnet).- Substitution : 38 refs gpt-4o-mini/gpt-4o/GPT-4 → gpt-5.6-luna/gpt-5.6-sol (mapping canonique
- added a commit that references this issue
on Oct 7, 2026 [CLAIMED] lane myia-po-2023:CoursIA -- Fournée ADK bornée : défaut OpenRouter legacy vérifié providers.py:48 ; cible API réelle, cohérence des defaults et test du consommateur, sorties des seuls notebooks modifiés -- paths: MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/config/providers.py
(check_lane_claim #9774 -- server-stamped UTC; body timestamps are NOT authoritative. Release with
[RELEASED]when your PR lands.)[CLAIMED-AMEND] lane myia-po-2023:CoursIA -- paths: MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/config/providers.py, MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/config/test_providers.py, MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/.env.example, MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/config/.env.example
Portee complete du lot ADK. Le claim d'ai-01 n'en nommait qu'un fichier (
providers.py) ; la mesure a montre que le defaut legacy n'y etait pas seul :Settings.openrouter_model(meme fichier) et les deux gabarits.env.exampleportaient deux autres etats du meme identifiant OpenRouter, et rien ne liait les trois.Le lot borne l'identifiant OpenRouter de Track2-GoogleADK : defauts du module, gabarits, et le test qui manquait pour les lier.
Reste HORS de ce lot (sujets distincts, tranche config du #14755) : le
VLLM_MODEL=Qwen/Qwen2.5-72B-Instructdeconfig/.env.example, perime lui aussi mais d'une autre famille ; etprojects/ML-LLM-Summarization/main.py, que le coordinateur a explicitement garde separe (backtest obligatoire).Aucun notebook touche : pas de re-execution dans ce lot.
[DELIVERED] fournée ADK — lane
myia-po-2023:CoursIA— PR #19972 (fix/14755-adk-openrouter-model)Scope = claim amendé c.18:58 (
paths:Track2-GoogleADK/config/providers.py+config/test_providers.py+.env.example+config/.env.example). Aucun notebook touché : aucune ré-exécution due.Tête attestée :
3defdf99604d2bc328ef01b12a88d7232184b723— tête inchangée depuis la poussée.Le défaut, mesuré contre l'API
L'identifiant OpenRouter de Track2-GoogleADK pointait un modèle retiré du catalogue du fournisseur (467 modèles au moment de la mesure) :
ABSENT anthropic/claude-3.5-sonnet EXISTE openai/gpt-5 EXISTE openai/gpt-5.6-solAppel de contrôle par le chemin réel du dépôt :
litellm.NotFoundError404 — « No endpoints found for anthropic/claude-3.5-sonnet. » Le défaut n'était pas seulement daté, il était mort.Il était invisible parce que
get_provider_configrésoutsettings.openrouter_model or defaults["model"]: tant que la variable d'environnement porte une valeur, le repliDEFAULTSn'est jamais exercé. Quatre lignes portaient quatre états, et rien ne les liait.Emplacement Avant Après config/providers.py:48—DEFAULTS[OPENROUTER]anthropic/claude-3.5-sonnet(mort)openai/gpt-5.6-solconfig/providers.py:90—Settings.openrouter_modelopenai/gpt-5openai/gpt-5.6-sol.env.example:18openai/gpt-5openai/gpt-5.6-solconfig/.env.example:21(commenté)anthropic/claude-3.5-sonnet(mort)openai/gpt-5.6-solCible retenue :
openai/gpt-5.6-sol— présente au catalogue, cohérente avec le défaut OpenAI du même fichier (openai_model = "gpt-5.6-sol"). Reteniropenai/gpt-5aurait harmonisé en consacrant la génération précédente, ce que le mandat de #14755 interdit.Réponse aux demandes, point par point
Demande du coordinateur État Preuve Vérifier la cible réelle contre l'API fait catalogue interrogé ; l'ancien identifiant rend 404 au contrôle négatif Harmoniser le défaut et la config consommée fait les 4 lignes ci-dessus alignées, toutes sur la même valeur Tester le chemin OpenRouter réel fait exercé par le code du dépôt ( get_provider_config→get_litellm_model→litellm.completion), réponse'OK'Annoncer le budget avant l'appel fait crédit relevé avant l'appel, consigné dans le body de la PR Périmètre notebooks sans objet 0 notebook modifié — le correctif est config + test main.pyQC gardé séparérespecté non touché, laissé au grain QC avec backtest obligatoire Le test qui manquait — c'est la pièce qui compte
test_settings_model_matches_provider_default_for_each_providerlieSettingsetProviderConfig.DEFAULTSpour les six providers. C'est l'invariant dont l'absence a laissé les deux valeurs dériver : le repli mort se périmait sans que rien ne rougisse. Le test ne répare pas une ligne — il ferme la classe de défaut.Preuve firsthand, rejouée par la lane sur la tête exacte :
python -m pytest config/test_providers.py -q collected 31 items config\test_providers.py ............................... [100%] 31 passed in 0.41s30 tests avant, 31 après (+1). 20 des 21 jambes CI vertes ; la seule rouge est
PR gateenDWELL— un minuteur, pas un défaut : plancher écoulé à2026-10-08T20:58:07Z, la jambe se ré-agrège seule au balayage suivant.État
PR ouverte, sans review — c'est le seul point qui reste, et il n'appartient pas à la lane. Aucune re-poussée prévue (un re-push remettrait le plancher DWELL à zéro).
- added a commit that references this issue
on Oct 9, 2026
Mandat user (2026-09-05, nit posé sur PR #14748)
La consigne renverse le réflexe par défaut. Jusqu'ici, une PR qui touchait un notebook GenAI ré-exécutait sur le modèle inscrit dans la cellule — donc consacrait un
gpt-4o-minide 2024 en le repassant au kernel. La sortie était honnête (règle H.1), et le livrable pédagogique périmé quand même : un étudiant de 2026 apprend à câbler un modèle qui n'a plus de sens.Mesure firsthand —
main@cfc6f8e1e, 2026-09-05gpt-4o-minigpt-4ogpt-4gpt-3.5-turbogpt-4-turbogpt-4o-transcribegpt-4.1-minigpt-3.5gpt-4o-mini-ttsgpt-4o-realtime-previewgpt-4.1124 fichiers touchés. Répartition par série : GenAI 78, ML 16, SymbolicAI 15, QuantConnect 2, Config 2, Sudoku 1.
Scope
Remplacer les références datées par la génération courante, et re-exécuter — la mise à jour d'un identifiant de modèle sans re-exécution violerait C.2 et produirait un notebook dont les sorties ne correspondent plus au code.
Cibles nommées par le user : OpenAI 5.6 pour le modèle principal, Luna pour la taille mini. Les identifiants exacts d'API sont à vérifier firsthand contre le fournisseur avant tout remplacement en masse — ne pas déduire un nom d'API d'un nom commercial.
Découpage proposé (tranches, une PR par tranche)
ancien -> nouveaupar famille d'usage (chat, mini, transcribe, tts, realtime, embeddings), vérifié contre l'API, publié dans la PR. Aucune substitution avant ça.transcribe,tts,realtime) — familles distinctes, correspondances distinctes.Contraintes
execution_countnon nul +outputscohérents. Un notebook non ré-exécutable localement se route vers la machine qui le peut (règle F,RECOVERABLE-MACHINE), jamais un « markdown explicatif » de contournement.Acceptance
git grep -ciE 'gpt-(3\.5|4o|4-|4")'surMyIA.AI.Notebooks/**décroît tranche après tranche, chiffre cité dans chaque PR