polyguard-openenv / app /training /sft_train.py
TheJackBright's picture
Deploy PolyGuard OpenEnv Space
877add7 verified
"""Canonical SFT training module."""
from __future__ import annotations
import subprocess
import sys
import os
from pathlib import Path
def run_sft_train(checkpoint_dir: Path | None = None) -> dict[str, str]:
"""Run SFT training via the script entrypoint.
``checkpoint_dir`` is accepted for interface stability; the current
implementation writes to the repository checkpoint folder.
"""
_ = checkpoint_dir
root = Path(__file__).resolve().parents[2]
script = root / "scripts" / "train_sft.py"
env = dict(os.environ)
env["PYTHONPATH"] = f"{root}:{env.get('PYTHONPATH', '')}".rstrip(":")
subprocess.run([sys.executable, str(script)], check=True, cwd=str(root), env=env)
return {"status": "ok"}
__all__ = ["run_sft_train"]