@@ -37,20 +37,33 @@ def _read_preds(path: Path, key: str) -> list[str]:
3737 return preds
3838
3939
40- def _load_gold (path : Path ) -> list [str ]:
40+ def _load_gold (data : str ) -> list [str ]:
41+ """Gold outputs from a local parquet or an HF dataset id.
42+
43+ A path (existing file) is read directly. Anything else is treated
44+ as a Hugging Face dataset id (default split file train.parquet) and
45+ resolved through huggingface_hub.snapshot_download with the local
46+ cache."""
4147 import pandas as pd
4248
43- table = pd .read_parquet (path )
44- return table ["output" ].tolist ()
49+ p = Path (data )
50+ if p .exists ():
51+ return pd .read_parquet (p )["output" ].tolist ()
52+ import huggingface_hub
53+
54+ snapshot = Path (
55+ huggingface_hub .snapshot_download (data , repo_type = "dataset" )
56+ )
57+ return pd .read_parquet (snapshot / "train.parquet" )["output" ].tolist ()
4558
4659
4760def main (argv : list [str ] | None = None ) -> int :
4861 parser = argparse .ArgumentParser (prog = "interscript-sadeed-eval" )
4962 sub = parser .add_subparsers (dest = "cmd" , required = True )
5063 score = sub .add_parser ("score" , help = "score a predictions file" )
5164 score .add_argument ("--preds" , type = Path , required = True )
52- score .add_argument ("--data" , type = Path , required = True ,
53- help = "SadeedDiac-25 parquet (input/output columns )" )
65+ score .add_argument ("--data" , required = True ,
66+ help = "parquet path or HF dataset id (Misraj/SadeedDiac-25 )" )
5467 score .add_argument ("--key" , default = "student" ,
5568 help = "JSONL row key carrying the prediction" )
5669 score .add_argument ("--vs" , type = Path , help = "reference predictions file" )
0 commit comments