#!/usr/bin/env python3 """Supervised fine-tuning on instruction/response JSONL.""" from __future__ import annotations import argparse import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT / "src")) from weather_llm.config_loader import repo_root_from from weather_llm.training.sft_trainer import run_sft def main() -> int: ap = argparse.ArgumentParser() ap.add_argument("--sft_config", type=Path, default=None) args = ap.parse_args() root = repo_root_from(ROOT) cfg = args.sft_config or (root / "configs/sft_default.yaml") run_sft(cfg.resolve()) return 0 if __name__ == "__main__": raise SystemExit(main())