| 234 | |
| 235 | |
| 236 | def parse_args() -> argparse.Namespace: |
| 237 | parser = argparse.ArgumentParser(description=__doc__) |
| 238 | parser.add_argument( |
| 239 | "--model", |
| 240 | default="gemini-2.5-pro", |
| 241 | help="Gemini model used as the judge (default: gemini-2.5-pro).", |
| 242 | ) |
| 243 | parser.add_argument( |
| 244 | "--api-key", |
| 245 | default=None, |
| 246 | help="Gemini API key. Defaults to the GEMINI_API_KEY environment variable.", |
| 247 | ) |
| 248 | parser.add_argument( |
| 249 | "--split", default="train", help="Dataset split to evaluate (default: train)." |
| 250 | ) |
| 251 | parser.add_argument( |
| 252 | "--num-samples", |
| 253 | type=int, |
| 254 | default=None, |
| 255 | help="Limit the number of samples to evaluate (default: all).", |
| 256 | ) |
| 257 | parser.add_argument( |
| 258 | "--output", |
| 259 | default="all_res_eval.json", |
| 260 | help="Where to save per-sample results (default: all_res_eval.json).", |
| 261 | ) |
| 262 | parser.add_argument( |
| 263 | "--max-retries", type=int, default=3, help="Max judge retries per call." |
| 264 | ) |
| 265 | return parser.parse_args() |
| 266 | |
| 267 | |
| 268 | def main() -> None: |