| """Generate, verify, and Modal-prep the full Figment v5 SFT corpus.""" |
|
|
| from __future__ import annotations |
|
|
| 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 V5_FOCUSED_COUNTS |
| from scripts.generate_v3_full_corpus import main as _run_full_corpus |
|
|
|
|
| DEFAULT_OUTPUT_VERSION = "figment_sft_v5" |
| DEFAULT_TEACHER_MODEL_ID = "nvidia/nemotron-3-ultra-550b-a55b:free" |
| DEFAULT_COUNTS = dict(V5_FOCUSED_COUNTS) |
| DEFAULT_NAVIGATOR_COUNT = sum(DEFAULT_COUNTS.values()) |
|
|
| DEFAULT_ARGS = [ |
| "--dataset-version", |
| DEFAULT_OUTPUT_VERSION, |
| "--navigator-count", |
| str(DEFAULT_NAVIGATOR_COUNT), |
| "--repair-count", |
| "200", |
| "--teacher-model-id", |
| DEFAULT_TEACHER_MODEL_ID, |
| "--base-start-index", |
| "60000", |
| "--shard-prefix", |
| "data/finetune/shards/figment_sft_v5_full_shard", |
| "--output", |
| "data/finetune/figment_sft_v5.jsonl", |
| "--case-specs", |
| "data/finetune/figment_sft_v5_case_specs.jsonl", |
| "--manifest", |
| "data/finetune/figment_sft_v5_manifest.json", |
| "--modal-output-dir", |
| "data/finetune/modal/figment_sft_v5", |
| "--seed", |
| "figment-modal-sft-v5", |
| ] |
|
|
|
|
| def build_corpus_args(argv: list[str] | None = None) -> list[str]: |
| return DEFAULT_ARGS + list(sys.argv[1:] if argv is None else argv) |
|
|
|
|
| def main(argv: list[str] | None = None) -> int: |
| return _run_full_corpus(build_corpus_args(argv)) |
|
|
|
|
| if __name__ == "__main__": |
| raise SystemExit(main()) |
|
|