Skip to content

Reorganize examples into self-contained per-example folders - #6820

Merged
qgallouedec merged 7 commits into
mainfrom
reorg-examples
Aug 24, 2026
Merged

Reorganize examples into self-contained per-example folders#6820
qgallouedec merged 7 commits into
mainfrom
reorg-examples

Conversation

@qgallouedec

@qgallouedec qgallouedec commented Aug 20, 2026

Copy link
Copy Markdown
Member

Why

examples/ was split by format (scripts/ vs notebooks/), which scatters related files: sft_nemotron_3 existed as both a script and a notebook in different folders, the OpenEnv notebooks lived apart from the OpenEnv scripts, and sudoku_prompt.txt sat loose next to unrelated scripts.

I don't think this makes a lot of sense.

I suggest a new approach:

  • One folder per example, and every folder is a "story": the name says the method and the task (grpo_wordle, sft_gpt_oss, ppo_tldr), and the folder holds everything the example needs (scripts, notebooks, prompts, chat templates, eval code). Exception: shared accelerate_configs/ and the datasets/ generation scripts stay at the root.
  • An example is not a bare training script: thin single-trainer demo scripts are removed. Those live in trl/scripts/ (CLI) and every trainer doc page has a runnable snippet.

Layout

Before

examples/
├── accelerate_configs/
│   └── …
├── cli_configs/
│   └── example_config.yaml
├── datasets/
│   └── …
├── notebooks/
│   ├── README.md
│   ├── grpo_agent.ipynb
│   ├── grpo_ministral3_vl.ipynb
│   ├── grpo_qwen3_vl.ipynb
│   ├── grpo_rnj_1_instruct.ipynb
│   ├── grpo_trl_lora_qlora.ipynb
│   ├── openenv_sudoku_grpo.ipynb
│   ├── openenv_wordle_grpo.ipynb
│   ├── sft_ministral3_vl.ipynb
│   ├── sft_nemotron_3.ipynb
│   ├── sft_qwen_vl.ipynb
│   ├── sft_tool_calling.ipynb
│   └── sft_trl_lora_qlora.ipynb
├── scripts/
│   ├── harbor/
│   │   ├── harnesses/
│   │   │   ├── bash/
│   │   │   │   ├── README.md
│   │   │   │   └── __init__.py
│   │   │   ├── jupyter/
│   │   │   │   ├── README.md
│   │   │   │   ├── __init__.py
│   │   │   │   ├── env.py
│   │   │   │   ├── kernel_server.py
│   │   │   │   └── run_cell.py
│   │   │   ├── terminal_notes/
│   │   │   │   ├── README.md
│   │   │   │   ├── __init__.py
│   │   │   │   └── env.py
│   │   │   └── __init__.py
│   │   └── data_agent.py
│   ├── openenv/
│   │   ├── browsergym.py
│   │   ├── browsergym_llm.py
│   │   ├── carla.py
│   │   ├── carla_vlm.py
│   │   ├── carla_vlm_gemma.py
│   │   ├── catch.py
│   │   ├── echo.py
│   │   ├── multi_env.py
│   │   ├── opencode.py
│   │   ├── opencode_hf_sandbox.py
│   │   ├── sudoku.py
│   │   ├── sudoku_prompt.txt
│   │   └── wordle.py
│   ├── openreward/
│   │   └── seta.py
│   ├── ppo/
│   │   ├── ppo.py
│   │   └── ppo_tldr.py
│   ├── async_distillation.py
│   ├── async_distillation_mopd.py
│   ├── async_grpo.py
│   ├── bco.py
│   ├── cpo.py
│   ├── distillation.py
│   ├── dpo.py
│   ├── dpo_vlm.py
│   ├── gkd.py
│   ├── gold.py
│   ├── grpo_2048.py
│   ├── grpo_agent.py
│   ├── grpo_continuous_batching.py
│   ├── grpo_vlm.py
│   ├── gspo.py
│   ├── gspo_vlm.py
│   ├── kto.py
│   ├── mpo_vlm.py
│   ├── nash_md.py
│   ├── online_dpo.py
│   ├── online_dpo_vlm.py
│   ├── orpo.py
│   ├── prm.py
│   ├── reward_modeling.py
│   ├── rloo.py
│   ├── rloo_vlm.py
│   ├── sdft.py
│   ├── sdpo.py
│   ├── sft.py
│   ├── sft_diffusion_gemma.py
│   ├── sft_gemma3.py
│   ├── sft_gpt_oss.py
│   ├── sft_nemotron_3.py
│   ├── sft_tiny_aya_tool_calling.py
│   ├── sft_vlm.py
│   ├── sft_vlm_gemma3.py
│   ├── ssd.py
│   ├── ssd_eval.py
│   ├── tiny_aya_chat_template.jinja
│   ├── tpo.py
│   └── xpo.py
└── README.md

After

examples/
├── accelerate_configs/
├── async_distillation_math/
├── async_grpo_math/
├── async_grpo_opencode/
├── datasets/
├── dpo_reduce_hallucinations/
├── grpo_2048/
├── grpo_browsergym/
├── grpo_carla/
├── grpo_catch/
├── grpo_continuous_batching/
├── grpo_echo/
├── grpo_harbor/
├── grpo_ministral3_vl/
├── grpo_multi_env/
├── grpo_qlora/
├── grpo_qwen3_vl/
├── grpo_rnj_1_instruct/
├── grpo_seta/
├── grpo_sql_agent/
├── grpo_sudoku/
├── grpo_visual_math/
├── grpo_wordle/
├── gspo_math/
├── gspo_visual_math/
├── mpo_visual_preferences/
├── online_dpo_visual_math/
├── ppo_sentiment/
├── ppo_tldr/
├── rloo_math/
├── rloo_visual_math/
├── sdft_privileged_context/
├── sdpo_math/
├── sft_diffusion_gemma/
├── sft_gemma3/
├── sft_gemma3_vision/
├── sft_gpt_oss/
├── sft_ministral3_vl/
├── sft_nemotron_3/
├── sft_qlora/
├── sft_qwen3_vl/
├── sft_tool_calling/
├── sft_visual_chat/
├── ssd_codegen/
├── tpo_ultrafeedback/
└── README.md

Accepted breakage / open questions

  • Old GitHub/Colab links to examples/scripts/... and examples/notebooks/... (blog posts, issues) will 404.
  • BCO, CPO, ORPO, XPO, Nash-MD, Online DPO, GKD, PRM, GOLD now have no CLI-style script; doc pages carry the runnable example. Promoting some to trl/scripts/ is an alternative.
  • Debatable names: sdft_privileged_context (the example has no fixed dataset), grpo_harbor / grpo_seta (task = the environment).
  • Follow-up candidates for removal (kept out of this PR to keep it a pure reorganization): gspo_visual_math (it is grpo_visual_math plus --importance_sampling_level sequence), grpo_rnj_1_instruct (same story as grpo_qlora on a niche model), sft_gemma3 (borderline bare training script), and carla_vlm_gemma.py inside grpo_carla.

Note

Low Risk
Documentation and example layout only; no training library logic changes, though external links to old examples/scripts/ paths will break until updated.

Overview
Reorganizes examples/ from a scripts/ vs notebooks/ split into one folder per story (e.g. grpo_wordle, async_distillation_math), each holding scripts, notebooks, prompts, harnesses, and eval code together. Shared assets stay at examples/accelerate_configs/ and examples/datasets/.

Removes thin “demo” training scripts from examples/scripts/ (BCO, CPO, distillation, GKD, KTO, Nash-MD, online DPO, ORPO, PRM, reward modeling, XPO, and stub redirects for DPO/SFT). Those flows are expected via trl/scripts CLIs (e.g. distillation docs now use trl distillation) or inline snippets on trainer doc pages (e.g. expanded BCOTrainer example). Task-specific scripts that remain are moved and renamed under the new folders, with docstrings and cross-links updated throughout docs (example_overview, OpenEnv, Harbor, GOLD, Jobs, etc.).

Docs and discoverability: example_overview.md is rewritten around a single Index table (Colab badges point at co-located notebooks). examples/README.md adds conventions for new examples. examples/notebooks/README.md and examples/cli_configs/example_config.yaml are dropped; .gitignore drops examples/notebooks/wandb/.

Reviewed by Cursor Bugbot for commit 62dd7aa. Bugbot is set up for automated code reviews on this repo. Configure here.

@bot-ci-comment

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eead7acd45

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/source/example_overview.md

@sergiopaniego sergiopaniego left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! my only concern is on the links that will be broken after merging but I'll try to update the ones that can be updated (blogs, other repos...) 🫠

some nits from agent review:

  • The new example_overview.md only has #index and #distributed-training as anchors, but three links still point to the removed sections: jobs_training.md:212 (example_overview#scripts) and openenv.md:8 and :135 (#openenv-scripts / #openenv-notebooks). Pointing them to example_overview#index fixes it (same as Codex's finding).
  • Some inner filenames don't match their folder (sft_qwen3_vl/sft_qwen_vl.ipynb, grpo_qlora/grpo_trl_lora_qlora.ipynb, grpo_wordle/openenv_wordle_grpo.ipynb, grpo_sudoku/openenv_sudoku_grpo.ipynb, sft_qlora/sft_trl_lora_qlora.ipynb). Since external links break anyway because of the folder move, normalizing them now is free; after merge it would cost a second round of broken links.
  • .gitignore:144 still has examples/notebooks/wandb/.
  • grpo_sudoku/sudoku.py documents running from the repo root, but --system-prompt-path defaults to the cwd-relative "sudoku_prompt.txt", so the documented command doesn't find the prompt. Pre-existing, but the move to self-contained folders is the natural moment to switch it to Path(__file__).parent / "sudoku_prompt.txt", like sft_tool_calling/sft_tiny_aya_tool_calling.py already does.

Comment thread examples/README.md Outdated

@pcuenca pcuenca left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for keeping them up to date!

(I haven't checked the URLs against the open PR in trl, but it looks good).

lol, wrong repo. I blame github for the distracting slowness.

@sergiopaniego

Copy link
Copy Markdown
Member

Is GOLD ending up as intended? examples/scripts/gold.py is deleted, but trl/experimental/gold/gold_vlm.py survives (the only runnable script in trl/experimental/, and gold_trainer.md still runs it). Same trainer, two different outcomes.

@qgallouedec

Copy link
Copy Markdown
Member Author

@sergiopaniego yes good catch. The gold.py deletion is intended: it was one of the generic CLI wrappers this PR removes across the board. But gold_vlm.py was an oversight: it's a self-contained example that happened to live inside the package tree, and it should follow the same convention as everything else. Moved it to examples/gold_qwen3_vl/ and updated the doc links.

- One folder per example, named method + task (grpo_wordle, sft_gpt_oss, ...);
  each folder holds everything the example needs (scripts, notebooks, prompts,
  chat templates, eval code)
- Split the openenv, vlm, and ppo buckets into per-example folders
- Drop thin single-trainer example scripts, redundant with trl/scripts (CLI)
  and the runnable snippets in each trainer's doc page
- Drop orphaned examples/cli_configs
- Rewrite example_overview.md as a single index of examples; rewire all doc
  links, Colab badges, and the harbor runtime path strings
The reorg removed the Scripts / OpenEnv Scripts / OpenEnv Notebooks sections;
jobs_training.md and openenv.md still linked to their anchors.
The reorg renamed folders but kept legacy file names (sft_qwen_vl.ipynb under
sft_qwen3_vl/, openenv_sudoku_grpo.ipynb, grpo_trl_lora_qlora.ipynb, *_vlm.py,
bare ppo.py/rloo.py/gspo.py). Every folder's main entry is now
examples/<name>/<name>.py or .ipynb; variant and helper files keep their
suffixed names. All Colab badges, doc links, and docstring run commands updated
in the same sweep.
Deleting examples/scripts/gold.py removed text-mode GOLD's only end-to-end
recipe (there is no trl gold CLI). It comes back as
examples/gold_chatbot_arena/, with its doc section and Index row.
The online DPO benchmark blocks still invoke the deleted
examples/scripts/online_dpo.py; the prose now says to run them from a v1.10.0
checkout.
- openenv.md: enumerate the 8 ready-to-use OpenEnv examples instead of
  pointing at the generic Index
- jobs_training.md: say which Index entries are uv-submittable, and stop
  calling trl/scripts/sft.py an example script
- add the missing run-command docstrings (grpo_2048, ppo_sentiment, ppo_tldr)
  and drop rloo_math's pip line that disagreed with its script header
- examples/README.md: defer the layout description to the docs page instead of
  duplicating it
- distillation_trainer.md: the section documents the CLI, not an example script
- drop the stale examples/notebooks/wandb/ gitignore entry
- add a test asserting the example_overview Index stays in sync with the
  examples/ folders
@qgallouedec

qgallouedec commented Aug 24, 2026

Copy link
Copy Markdown
Member Author

External link audit for this reorg: I scanned org:huggingface repos (GitHub code search, then cloned and grepped all 84 removed paths). 43 files in 8 repos reference paths this PR deletes or renames. GitHub doesn't redirect renamed paths, so these 404 once this merges.

One row per link (identical links within a file are deduped, lines listed). Fix PR column: ✅ = fixed correctly by the open PR, ⚠️ = the PR moves the link to the new folder but keeps the old file name, so it still 404s (this PR renames each main file after its folder; flagged in a comment on each PR), none = no PR yet.

Repo File Line(s) Old path Correct new path Fix PR
OpenEnv docs/source/tutorials/index.md 25 examples/notebooks/openenv_wordle_grpo.ipynb examples/grpo_wordle/grpo_wordle.ipynb huggingface/OpenEnv#1086 ⚠️
OpenEnv docs/source/tutorials/wordle-grpo.md 3 examples/notebooks/openenv_wordle_grpo.ipynb examples/grpo_wordle/grpo_wordle.ipynb huggingface/OpenEnv#1086 ⚠️
OpenEnv tutorial/04-training.md 3 examples/notebooks/openenv_wordle_grpo.ipynb examples/grpo_wordle/grpo_wordle.ipynb huggingface/OpenEnv#1086 ⚠️
OpenEnv docs/source/tutorials/opencode-agent-grpo.md 59 examples/scripts/openenv/opencode.py examples/async_grpo_opencode/async_grpo_opencode.py huggingface/OpenEnv#1086 ⚠️
OpenEnv docs/source/tutorials/opencode-agent-grpo.md 61 examples/scripts/openenv/opencode_hf_sandbox.py examples/async_grpo_opencode/opencode_hf_sandbox.py huggingface/OpenEnv#1086
OpenEnv docs/source/tutorials/rubrics.md 355 examples/scripts/openenv/ (dir link) examples/ (per-example folders) huggingface/OpenEnv#1086
OpenEnv examples/carla_env/README.md 91 examples/scripts/openenv/carla.py examples/grpo_carla/grpo_carla.py huggingface/OpenEnv#1086 ⚠️
OpenEnv tutorial/examples/wordle.py 28, 40, 52, 65 examples/scripts/openenv/wordle.py examples/grpo_wordle/grpo_wordle.py huggingface/OpenEnv#1086 ⚠️
blog dpo_vlm.md 357 examples/scripts/dpo_vlm.py examples/dpo_reduce_hallucinations/dpo_reduce_hallucinations.py huggingface/blog#3516 ⚠️
blog smolvlm.md 287 examples/scripts/dpo_vlm.py examples/dpo_reduce_hallucinations/dpo_reduce_hallucinations.py huggingface/blog#3516 ⚠️
blog gemma.md 250, 262 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog gemma2.md 223, 239, 270 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog llama31.md 814, 829, 854 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog mixtral.md 191, 204 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog zh/gemma.md 241, 253 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog zh/gemma2.md 225, 241, 271 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog zh/llama31.md 699, 714, 739 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog zh/mixtral.md 198, 211 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/blog#3516
blog gemma4.md 725 examples/scripts/openenv/carla_vlm_gemma.py examples/grpo_carla/carla_vlm_gemma.py huggingface/blog#3516
blog llama32.md 479, 484 examples/scripts/sft_vlm.py examples/sft_visual_chat/sft_visual_chat.py huggingface/blog#3516 ⚠️
blog zh/llama32.md 32, 418, 423 examples/scripts/sft_vlm.py examples/sft_visual_chat/sft_visual_chat.py huggingface/blog#3516 ⚠️
blog muse-glimmer.md 539 examples/scripts/openenv/opencode.py examples/async_grpo_opencode/async_grpo_opencode.py huggingface/blog#3516 ⚠️
blog thinkingmachines-inkling.md 463 examples/scripts/gold.py examples/gold_chatbot_arena/gold_chatbot_arena.py huggingface/blog#3516 ✅ (pins to v1.10.0)
blog trl-vlm-alignment.md 205, 224 examples/scripts/rloo_vlm.py examples/rloo_visual_math/rloo_visual_math.py huggingface/blog#3516 ⚠️
blog trl-vlm-alignment.md 229, 234 examples/scripts/online_dpo_vlm.py examples/online_dpo_visual_math/online_dpo_visual_math.py huggingface/blog#3516 ⚠️
blog trl-vlm-alignment.md 259 examples/scripts/sft_vlm.py examples/sft_visual_chat/sft_visual_chat.py huggingface/blog#3516 ⚠️
blog trl-vlm-alignment.md 266, 278 examples/scripts/grpo_vlm.py examples/grpo_visual_math/grpo_visual_math.py huggingface/blog#3516 ⚠️
blog trl-vlm-alignment.md 297 examples/scripts (dir link) tree/main/examples huggingface/blog#3516
smol-course units/es/unit1/0.md 18 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course units/ja/unit1/1.md 19 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course units/ko/unit1/1.md 18 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course units/pt-br/unit1/1.md 18 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course units/vi/unit1/1.md 18 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/1_instruction_tuning/README.md 25 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/es/1_instruction_tuning/README.md 25 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/ja/1_instruction_tuning/README.md 25 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/ko/1_instruction_tuning/README.md 23 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/pt-br/1_instruction_tuning/README.md 25 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course v1/vi/1_instruction_tuning/README.md 25 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/smol-course#306
smol-course units/es/unit2/0.md 31 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course units/es/unit2/0.md 32 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course units/ja/unit2/1.md 30 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course units/ja/unit2/1.md 31 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course units/pt-br/unit2/1.md 31 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course units/pt-br/unit2/1.md 32 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course units/vi/unit2/1.md 32 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course units/vi/unit2/1.md 33 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course v1/2_preference_alignment/README.md 39 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course v1/2_preference_alignment/README.md 40 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course v1/es/2_preference_alignment/README.md 37 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course v1/es/2_preference_alignment/README.md 38 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course v1/ja/2_preference_alignment/README.md 37 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course v1/ja/2_preference_alignment/README.md 38 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course v1/pt-br/2_preference_alignment/README.md 39 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course v1/pt-br/2_preference_alignment/README.md 40 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
smol-course v1/vi/2_preference_alignment/README.md 39 examples/scripts/dpo.py deleted; trl/scripts/dpo.py huggingface/smol-course#306
smol-course v1/vi/2_preference_alignment/README.md 40 examples/scripts/orpo.py deleted, no replacement huggingface/smol-course#306 ✅ (pins to v1.10.0)
cookbook notebooks/en/fine_tuning_vlm_grpo_trl.ipynb (last cell) examples/scripts/grpo_vlm.py examples/grpo_visual_math/grpo_visual_math.py huggingface/cookbook#367 ⚠️
openenv-course module-5/notebook.ipynb (first cell) examples/notebooks/openenv_wordle_grpo.ipynb examples/grpo_wordle/grpo_wordle.ipynb huggingface/openenv-course#8
huggingface-llama-recipes fine_tune/qlora_405B.slurm 17 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/huggingface-llama-recipes#89
skills skills/huggingface-llm-trainer/SKILL.md 269, 723 examples/scripts (dir link) tree/main/examples huggingface/skills#234
ml-intern agent/tools/github_find_examples.py 415 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/ml-intern#360
ml-intern agent/tools/research_tool.py 188 examples/scripts/sft.py deleted; trl/scripts/sft.py huggingface/ml-intern#360

so tldr: fix PRs are open for all 8 repos. huggingface/blog#3516 (6 links), huggingface/OpenEnv#1086 (4 links) and huggingface/cookbook#367 (1 link) keep the old file names and need a follow-up commit, flagged in a comment on each. huggingface/smol-course#306, huggingface/openenv-course#8, huggingface/huggingface-llama-recipes#89, huggingface/skills#234 and huggingface/ml-intern#360 are good to go.

Scanned with zero affected: course, notebooks, transformers, accelerate, peft, huggingface_hub, lerobot, optimum-habana (only tag-pinned or already-dead references, e.g. examples/scripts/grpo.py, vsft_llava.py, gpt2-sentiment.ipynb are already gone from main today).

@qgallouedec

Copy link
Copy Markdown
Member Author

merging this one.

@qgallouedec
qgallouedec merged commit 781aa05 into main Aug 24, 2026
10 of 11 checks passed
@qgallouedec
qgallouedec deleted the reorg-examples branch August 24, 2026 19:57
sergiopaniego added a commit to huggingface/blog that referenced this pull request Aug 25, 2026
The reorg also renames each example's main file after its folder, so the
previous paths still 404. Also retargets the GOLD link to its new home in
examples/gold_chatbot_arena/ instead of the v1.10.0 pin.
sergiopaniego added a commit to huggingface/cookbook that referenced this pull request Aug 25, 2026
The reorg also renames each example's main file after its folder.
sergiopaniego added a commit to huggingface/OpenEnv that referenced this pull request Aug 25, 2026
The reorg also renames each example's main file after its folder, so the
previous paths still 404.
sergiopaniego added a commit to huggingface/blog that referenced this pull request Aug 25, 2026
* Update TRL example paths after examples/ reorg (huggingface/trl#6820)

* Update TRL example paths in older posts (examples/ reorg, huggingface/trl#6820)

* Pin GOLD example link to v1.10.0 (script removed in examples/ reorg, huggingface/trl#6820)

* Use the new per-example file names (huggingface/trl#6820)

The reorg also renames each example's main file after its folder, so the
previous paths still 404. Also retargets the GOLD link to its new home in
examples/gold_chatbot_arena/ instead of the v1.10.0 pin.

* Rename the inline link labels to match the new file names
q-qp-p pushed a commit to q-qp-p/meta-pytorch-OpenEnv that referenced this pull request Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants