Spaces:
Running on Zero
Running on Zero
| """Generate, verify, and Modal-prep the Figment v7 delta SFT corpus.""" | |
| from __future__ import annotations | |
| import argparse | |
| from pathlib import Path | |
| import sys | |
| PROJECT_ROOT = Path(__file__).resolve().parents[1] | |
| if str(PROJECT_ROOT) not in sys.path: | |
| sys.path.insert(0, str(PROJECT_ROOT)) | |
| from scripts.generate_finetune_data import V7_NAVIGATOR_COUNTS # noqa: E402 | |
| from scripts.generate_v3_full_corpus import main as _run_full_corpus # noqa: E402 | |
| DEFAULT_OUTPUT_VERSION = "figment_sft_v7_delta" | |
| DEFAULT_TEACHER_MODEL_ID = "nvidia/nemotron-3-ultra-550b-a55b:free" | |
| DEFAULT_NAVIGATOR_COUNT = sum(V7_NAVIGATOR_COUNTS.values()) | |
| DEFAULT_REPAIR_COUNT = 240 | |
| DEFAULT_ARGS = [ | |
| "--dataset-version", | |
| DEFAULT_OUTPUT_VERSION, | |
| "--navigator-count", | |
| str(DEFAULT_NAVIGATOR_COUNT), | |
| "--repair-count", | |
| str(DEFAULT_REPAIR_COUNT), | |
| "--teacher-model-id", | |
| DEFAULT_TEACHER_MODEL_ID, | |
| "--base-start-index", | |
| "80000", | |
| "--shard-prefix", | |
| "data/finetune/shards/figment_sft_v7_delta_full_shard", | |
| "--output", | |
| "data/finetune/figment_sft_v7_delta.jsonl", | |
| "--case-specs", | |
| "data/finetune/figment_sft_v7_delta_case_specs.jsonl", | |
| "--manifest", | |
| "data/finetune/figment_sft_v7_delta_manifest.json", | |
| "--modal-output-dir", | |
| "data/finetune/modal/figment_sft_v7_delta", | |
| "--seed", | |
| "figment-modal-sft-v7-delta", | |
| ] | |
| def build_corpus_args(argv: list[str] | None = None) -> list[str]: | |
| raw_args = list(sys.argv[1:] if argv is None else argv) | |
| parser = argparse.ArgumentParser(add_help=False) | |
| parser.add_argument("--navigator-count", type=int, default=DEFAULT_NAVIGATOR_COUNT) | |
| parser.add_argument("--repair-count", type=int, default=DEFAULT_REPAIR_COUNT) | |
| parsed, remaining = parser.parse_known_args(raw_args) | |
| defaults = list(DEFAULT_ARGS) | |
| defaults[defaults.index("--navigator-count") + 1] = str(parsed.navigator_count) | |
| defaults[defaults.index("--repair-count") + 1] = str(parsed.repair_count) | |
| return defaults + remaining | |
| def main(argv: list[str] | None = None) -> int: | |
| return _run_full_corpus(build_corpus_args(argv)) | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |