diff --git a/scripts/orchestrator/build_orchestrator_sft.py b/scripts/orchestrator/build_orchestrator_sft.py index b6f8cd0a..ca2a4d34 100644 --- a/scripts/orchestrator/build_orchestrator_sft.py +++ b/scripts/orchestrator/build_orchestrator_sft.py @@ -24,7 +24,7 @@ call. Example (v1, base self-sampling): .venv/bin/python scripts/orchestrator/build_orchestrator_sft.py \ - --out data/orchestrator_sft_v1.jsonl \ + --orchestrator-label qwen \ --orchestrator-endpoint http://localhost:8001/v1 \ --orchestrator-model qwen3-8b \ --samples-per-task 8 --max-keep-per-task 1 @@ -67,11 +67,12 @@ def main(argv: Optional[list[str]] = None) -> int: p = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter ) - # Default output is timestamped (e.g. data/orchestrator_sft_06-22-1230am.jsonl) - # so every run lands in its own file and concurrent runs never collide. Pass - # --out explicitly to override (sharded runs do this, one file per shard). + # --out is a TAG, not a path. The run dir is always + # data/orchestrator/raw/{label}_{MMDD}[_{tag}]/ and the file inside is always + # data.jsonl — see the run_dir block below. Use --out only to distinguish two + # runs of the same orchestrator on the same day (e.g. --out balanced50). p.add_argument("--out", default=None, - help="Output JSONL. Default: data/orchestrator_sft_.jsonl") + help="Optional tag appended to the run dir name (not a path).") # The orchestrator == the local Qwen3-8B self-sampling over its own rollouts. p.add_argument("--orchestrator-endpoint", default="http://localhost:8001/v1", help="OpenAI-compatible vLLM base URL serving the orchestrator.") @@ -163,20 +164,32 @@ def main(argv: Optional[list[str]] = None) -> int: "huggingface_hub", "openai"): logging.getLogger(_noisy).setLevel(logging.WARNING) - # Every run lands in its OWN datetimed folder, all collected flat under - # data/runs/ — so runs sort by time, never collide, and never litter data/. - # --out is treated as an optional LABEL for the folder, not a path; the data - # file inside is always data.jsonl (+ .stats.json/.pretty.json/.txt/.html). - # Folder name: _