Files
SolitaryThinker 94b84b03b9 [examples] Add v2_examples/{training,omni,workflows}/ — runnable examples
Three more example folders alongside inference/, all CPU/numpy, self-contained
(sys.path bootstrap), public API only, every script verified to run green.

training/ (7) — one per method, all via the uniform method.train_step seam:
  01 finetune · 02 dmd2 distillation · 03 diffusion_nft (likelihood-free RL,
  samples from the old policy, feature-cache reuse) · 04 self-forcing (causal
  chunk_rollout) · 05 joint LM+generator RL (UniRL; joint + prompt-only) ·
  06 N-way joint RL (per_expert vs shared credit) · 07 end-to-end workflow RL
  (T2I+I2V from one final-video reward).

omni/ (4) — 01 Cosmos3 (reason→joint denoise, shared MoT) · 02 BAGEL
  (text→image, shared MoT; scheduler prices both WorkUnit kinds) · 03 Qwen-Omni
  (thinker→talker→vocoder, three separate experts, text+audio) · 04 interleave
  parity across AR + diffusion loop types.

workflows/ (2) — 01 cross-model T2I→I2V workflow (image provably conditions the
  video) · 02 workflow as a first-class servable (requires/validate, address by
  id, register_workflows catalog, WorkflowRegistry).

Each folder has a README indexing its scripts.
2026-06-18 09:41:14 +00:00

19 lines
1023 B
Markdown

# v2_examples/workflows — cross-model composition
Runnable examples of **cross-model `Workflow`s** — chaining two *distinct* models, threading typed
artifacts between them (designv4 §9.6). A `Program` composes the loops of ONE resident model
(step-interleaved, parity-gated); a `Workflow` composes *across* model instances, above the engine — so
the per-step hot path is unchanged and each model keeps its own interleave-parity guarantee.
The shipped example is **T2I → I2V** (the realistic FLUX→Wan pipeline): a text-to-image model produces
an image, which conditions an image-to-video model. Run from anywhere:
```bash
python3 v2_examples/workflows/01_t2i_then_i2v.py
```
| Script | Shows |
|---|---|
| `01_t2i_then_i2v.py` | run the cross-model workflow; the I2V stage provably consumes the generated image |
| `02_register_as_servable.py` | a workflow is a first-class servable — declared `requires`, validated, addressable by `workflow_id` like a model; the declarative catalog + `WorkflowRegistry` |