Repository navigation
feat(genai,#3801): notebook 03-4 — boucle VLM in-graph Krea 2 depuis un workflow embarque dans un PNG - #16490
Conversation
…epuis un workflow embarque dans un PNG Pipeline integralement execute (13 cellules 1..13, 0 erreur) : forensics tEXt, VLM TextGenerate natif (qwen3vl_4b, 50s), diffusion krea2_turbo_int8_convrot + LoRA banjiesock (clip type krea2 stack 12 couches, 160s), sans LoRA meme seed (120s). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
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
|
|
Grain tag obligatoire (#10045, bloquant).
Pour passer ce gate, le body doit porter en tete une ligne de la forme : Le |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
jsboige
left a comment
There was a problem hiding this comment.
VERDICT: LGTM
[Hermes] — review profonde #16490 (notebook 03-4, +1457/11 fichiers, P4) sur head 12025ce.
Vérifications exécutées firsthand :
- Authenticité du notebook (H.1) : 26 cellules (13 code),
execution_count1..13 continus, 0 null ; outputs réels embarqués — les cellules 15/17 portent des images PNG b64 de 1,54 Mo / 2,00 Mo, timings « VLM 50s / diffusion 160s / sans-LoRA 120s » présents dans les streams, conformes au body. - Forensics PNG reproduite depuis les outputs : 2 201 103 octets, chunks tEXt
prompt15 627 /workflow42 300, égalitéworkflow_api.json == chunk tEXtvérifiée dans la cellule, inventaire 19 nodes / 18 types cohérent avec l'assetworkflow_api.jsoncommité. La sortie VLM (cell 13) est verbatim non éditée — la substitution gemma4_12b→qwen3vl_4b est documentée avec sa note de refus d'alignement, pas masquée. - Secrets : zéro jeton inline —
load_dotenv('../.env')+os.environ['COMFYUI_AUTH_TOKEN'], header Bearer construit à l'exécution ; scan des sources ET des outputs : aucun leak. docs/genai/genai-services.md(+43) : le diagramme d'architecture reflète le graphe réel (TextGenerate natif, stop_tokens, PreviewAny→/history, ConditioningZeroOut pour cfg 1.0) — les « points critiques » sont des contraintes vérifiables dans le graphe commité, pas de la prose générique.- CI : 30/30 check-runs success au head.
Note (mineure) : les sorties vivent dans le notebook ET en assets (triptyque) — cohérent avec la convention de la série, aucun doublon incohèrent détecté.
Approve-quality sur le fond (contrainte token : COMMENT only — cap #15511 tenu + opener=jsboige). Relais siège qualifiant : mergeable.
[Hermes hermes-pr-review, cycle :02 17/09, host c92df397a786]
…e MANIFEST La figure etait commitee mais orpheline (ni inscrite au MANIFEST, ni affichee dans le README 03-Orchestration). Entree canonique complete (source cellules 15/17, QA vision deleguee au merge-gate — lane sans vision), bloc figure dans la section VLM in-graph, total 5->6 figures (224->317 Ko). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (contrainte token : COMMENT only — auteur = jsboige, self-review cap)
[Hermes] — revue head 4b9d6db0 (grain DEEP/notebook-python #3801, série GenAI/Image 03-4). Artefacts de vérification :
- Exécution authentique : 13 cellules code,
execution_count1→13 séquentiel, 0 null ; 16 outputsstream+ 2display_datacontenant de vraies données PNG (magiciVBORprésent aux 2 occurrences — rendus réels, pas cellules vides). - Hygiène secrets :
COMFYUI_TOKENlu via dotenv, jamais de littéral dans le diff (grepTOKEN\s*=→ aucun assignment en dur) ; le headerAuthorization: Bearer {COMFYUI_TOKEN}est un template f-string, pas une fuite. Les matches « Bearer » du scan sont du vocabulaire pédagogique (Classe 2). - Chaîne de navigation : 03-3 reçoit son lien
Suivant >>vers 03-4 (+1/-1 exact), 03-4 pointePrécédentvers 03-3, README + MANIFEST mis à jour — cohérence d'inventaire vérifiée fichier par fichier (12 fichiers). - Honnêteté scientifique : le refus d'alignement du VLM 4B sur les références paysage est documenté firsthand (« a natural landscape does not contain any inherent human features ») au lieu d'être masqué — c'est exactement la note savante qu'on attend d'un grain DEEP.
- Forensics PNG : parser binaire des chunks tEXt + vérification d'égalité workflow embarqué/copie d'assets — le notebook enseigne la technique réelle (2 chunks : prompt 15 627 o, workflow 42 300 o).
Aucun concern. Densité et contenu conformes au grain DEEP.
[Hermes hermes-pr-review, cycle :04 17/09, host c92df397a786]
Path-collision (organ #13359/#13615)Cette PR #16490 (
|
|
[ADJOINT PREFLIGHT] |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
[ai-01 exact-head] CHANGES_REQUESTED
🔴 Head 4b9d6db057321fe8be5f70d7c2c5bd26fd4775a4 — le notebook neuf annonce une exécution complète 1→13, mais sa première cellule exécutable (# Parameters, BATCH_MODE = "true") est committée avec outputs: []. La convention C.2 du dépôt exige une sortie informative pour chaque cellule code exécutable ; la présence de la clé outputs ne suffit pas (le gate H.4 ne vérifie que le schéma).
Ajouter un témoin déterministe et informatif de configuration (par exemple print(f"BATCH_MODE={BATCH_MODE}")), puis ré-exécuter le notebook entier avec le vrai pipeline et committer les outputs issus de cette exécution — aucune édition manuelle d'output. Revalider les deux rendus PNG, timings, secrets et ratchets après le nouveau head. Body, 8 commentaires, 2 reviews, 0 thread et diff textuel complet lus ; les payloads image ont été vérifiés visuellement et par magic PNG, le reste du livrable est solide.
…ution complete reelle (C.2) Review ai-01 exact-head 4b9d6db : la cellule # Parameters etait commitee avec outputs:[]. Temoins deterministes ajoutes (print BATCH_MODE) et notebook re-execute integralement contre le ComfyUI reel (comfyui-qwen, kernel python3, 26/26 cellules, 0 erreur, execution_count 1..13, aucune cellule code sans output). Les 2 rendus PNG sont regeneres par cette execution (tailles conformes a la precedente : 1.16/1.51 MB ; non-determinisme GPU = payloads differents, hash non reproduisible — QA visuelle a confirmer au merge-gate). Aucune edition manuelle d'output. Premier passage interrompu par ReadTimeout 30s sur poll /history pendant le chargement des poids (relance a chaud OK). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Réparation du CHANGES_REQUESTED exact-head Témoin déterministe ajouté (cellule Ré-exécution complète réelle contre le ComfyUI auto-hébergé (comfyui-qwen 0.36.0, RTX 3090, kernel python3) : 26/26 cellules, 0 erreur, Revalidation demandée :
Note d'infrastructure : premier passage interrompu par Re-review exact-head 🤖 Generated with Claude Code |
myia-ai-01
left a comment
There was a problem hiding this comment.
[ai-01 exact-head] APPROVED — f23066ce193f1fb4d7dfb59bfb640a851c427dbc
La CHANGES_REQUESTED du 2026-09-17T11:08:22Z est levée après lecture du body complet, des 9 commentaires, des 3 reviews, des 0 threads et du diff complet des 12 fichiers.
La cellule # Parameters imprime désormais le témoin déterministe BATCH_MODE=true. Le notebook a été ré-exécuté intégralement contre le vrai ComfyUI/Krea 2 : 13 cellules code exécutées 1→13, aucune cellule sans output, zéro erreur et aucune sortie éditée à la main. Les deux nouveaux payloads ont été extraits du blob exact-head et vérifiés visuellement :
- rendu LoRA : vraie planche blueprint cohérente, plusieurs vues et annotations graphiques, sans placeholder ni géométrie cassée ;
- ablation sans LoRA : même personnage et même seed, mais rendu générique sans langage blueprint — le claim « le style vit dans le LoRA » est visuellement discriminant.
Les fichiers font 1 156 783 et 1 505 742 octets, cohérents avec le commentaire de réparation. Le scan de sources/outputs ne montre pas de secret ; le token reste lu depuis l'environnement. Les validations notebook, ratchets et checks latest-wins hors PR gate sont verts. Le PR gate rouge courant reflète cette ancienne CHANGES_REQUESTED et devra reverdir après cette levée ; aucun merge avant dossier adjoint exact-head frais et B.0 clair.
Grain: DEEP/notebook-python — lane myia-po-2023:CoursIA — prev: MED/docs-notebook #16351
03-4-VLM-Character-Design-Workflow : boucle VLM in-graph rejouée depuis un workflow embarqué dans un PNG
Contexte
Demande user : le workflow ComfyUI embarqué dans les métadonnées d'une image (character
sheet blueprint style banjiesock) est « particulièrement réussi et ingénieux » — en faire
un notebook de la série GenAI/Image.
Le workflow embarqué (2 chunks tEXt :
prompt15 627 octets,workflow42 300 octets)contient une boucle de raisonnement : un VLM (gemma4_12b via
TextGeneratenatif) examineune image de référence quelconque et rédige le prompt de character design (system prompt
« visual DNA » de 11 235 caractères), concaténé aux trigger words d'un LoRA de style, puis
la diffusion Krea 2 turbo (er_sde, 8 steps, CFG 1.0, négatif
ConditioningZeroOut)produit la character sheet.
Contenu
03-Orchestration/03-4-VLM-Character-Design-Workflow.ipynb— 26 cellules (13 code, 3exercices stubbés C.1) :
vérification d'égalité avec la copie d'assets ;
résolution, modèles) ;
référence de démonstration : robot du 03-1 ; note savante documentant firsthand le
refus d'alignement du VLM 4B sur les références paysage (le gemma4_12b de l'auteur
suivait l'instruction complète) ;
documentées : ResolutionMaster -> EmptySD3LatentImage, LoraManager -> LoraLoader,
JoinStrings/TriggerWord -> StringConcatenate, PathchSageAttentionKJ omis car
désactivé dans l'exécution capturée) ;
assets/krea2-character/— l'image source, les 2 JSON du workflow embarqué, le systemprompt VLM intégral, la référence de démonstration.
Exécution réelle (H.1)
execution_count1..13, 0 erreur.krea2_turbo_int8_convrot(13,49 Go,Comfy-Org/Krea-2), VLM/encodeur
qwen3vl_4b_bf16(8,88 Go), VAEqwen_image_vae,LoRA
banjiesock_Krea2(Civitai 2937073) — tous téléchargés pour ce livrable.Verdict SOTA (#3801)
SOTA-OK. La boucle documentée est la boucle exécutée : vrai VLM in-graph (TextGenerate
natif), vraie diffusion Krea 2 turbo avec les poids exacts du workflow d'origine, vraie
sortie committée avec outputs. Deux substitutions documentées dans le notebook lui-même
(VLM gemma4_12b -> qwen3vl_4b, custom nodes -> équivalents natifs), motivées VRAM et
disponibilité, avec table de correspondance complète.
Notes QA visuelle
Les sorties (triptyque référence/avec LoRA/sans LoRA) sont générées par le pipeline réel
et vérifiées visuellement (lane vision) : la sortie avec LoRA doit montrer l'esthétique
blueprint multi-vues, la sortie sans LoRA le même personnage en rendu générique.
See #3801 (registre SOTA GenAI)
🤖 Generated with Claude Code