| |
| from __future__ import annotations |
|
|
| import argparse |
| import subprocess |
| from pathlib import Path |
|
|
| ROOT = Path(__file__).resolve().parents[1] |
| CH_SCRIPT = ROOT / 'scripts' / 'score_hf_hub_community_challenges.py' |
| COV_SCRIPT = ROOT / 'scripts' / 'score_hf_hub_community_coverage.py' |
|
|
|
|
| def run(cmd: list[str]) -> None: |
| print('\n[run]', ' '.join(cmd)) |
| subprocess.run(cmd, check=True) |
|
|
|
|
| def main() -> None: |
| ap = argparse.ArgumentParser(description='Run one hf_hub_community prompt variant on challenge + coverage packs') |
| ap.add_argument('--variant-id', required=True, help='Variant ID for output path, e.g. v3') |
| ap.add_argument('--cards-dir', type=Path, required=True) |
| ap.add_argument('--model', default='gpt-oss') |
| ap.add_argument('--agent', default='hf_hub_community') |
| ap.add_argument('--timeout', type=int, default=240) |
| ap.add_argument('--out-root', type=Path, default=ROOT / 'docs' / 'hf_hub_prompt_ab') |
| args = ap.parse_args() |
|
|
| model_stem = args.model.replace('/', '_') |
| out_dir = args.out_root / args.variant_id / model_stem |
| out_dir.mkdir(parents=True, exist_ok=True) |
|
|
| run([ |
| 'python', str(CH_SCRIPT), |
| '--model', args.model, |
| '--agent', args.agent, |
| '--agent-cards', str(args.cards_dir), |
| '--timeout', str(args.timeout), |
| '--raw-results-dir', str(out_dir / 'raw' / 'challenges'), |
| '--json-out', str(out_dir / 'challenges.json'), |
| '--md-out', str(out_dir / 'challenges.md'), |
| ]) |
|
|
| run([ |
| 'python', str(COV_SCRIPT), |
| '--model', args.model, |
| '--agent', args.agent, |
| '--agent-cards', str(args.cards_dir), |
| '--timeout', str(args.timeout), |
| '--raw-results-dir', str(out_dir / 'raw' / 'coverage'), |
| '--json-out', str(out_dir / 'coverage.json'), |
| '--md-out', str(out_dir / 'coverage.md'), |
| ]) |
|
|
| print('\nWrote variant outputs under:') |
| print(out_dir) |
|
|
|
|
| if __name__ == '__main__': |
| main() |
|
|