Initial commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
"""完整编译流水线的唯一命令行入口。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from scripts.provider_router import parse_model_reference
|
||||
|
||||
from .pipeline import run_pipeline
|
||||
|
||||
|
||||
def _model_reference(value: str) -> str:
|
||||
try:
|
||||
return parse_model_reference(value).value
|
||||
except ValueError as exc:
|
||||
raise argparse.ArgumentTypeError(str(exc)) from exc
|
||||
|
||||
|
||||
def _parser() -> argparse.ArgumentParser:
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="python -m scripts.compile_pipeline",
|
||||
description="Run static compilation, Fast optimization, and Deep iteration for one SkillsBench task.",
|
||||
)
|
||||
parser.add_argument("--harness", required=True, choices=("opencode", "claude-code", "claude"))
|
||||
parser.add_argument(
|
||||
"--model", required=True, type=_model_reference,
|
||||
help="Target model used by BenchFlow, in provider/model format.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--external-model", required=True, type=_model_reference,
|
||||
help="Model used for static planning, Fast analysis, and Deep analysis.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--task", required=True,
|
||||
help="SkillsBench task name or a path below data/skills-bench/tasks.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--run-dir",
|
||||
help="Run directory below results/compile-pipeline; reuse it to resume an interrupted run.",
|
||||
)
|
||||
return parser
|
||||
|
||||
|
||||
def main(argv: list[str] | None = None) -> int:
|
||||
args = _parser().parse_args(argv)
|
||||
try:
|
||||
final_skill = run_pipeline(
|
||||
harness=args.harness, model=args.model, external_model=args.external_model,
|
||||
task=args.task, run_dir=args.run_dir,
|
||||
)
|
||||
except (OSError, RuntimeError, ValueError) as exc:
|
||||
print(f"error: {exc}", file=sys.stderr)
|
||||
return 2
|
||||
print(final_skill)
|
||||
return 0
|
||||
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user