()
| 1248 | |
| 1249 | |
| 1250 | def main(): |
| 1251 | parser = argparse.ArgumentParser(description="PlotCraft Benchmark Evaluation - Simplified") |
| 1252 | parser.add_argument("--mode", type=str, choices=["generate", "evaluate", "both"], default="both", |
| 1253 | help="Run mode: generate (generation only), evaluate (evaluation only), both (full pipeline)") |
| 1254 | parser.add_argument("--data_dir", type=str, |
| 1255 | default="data", |
| 1256 | help="Data directory path") |
| 1257 | parser.add_argument("--results_dir", type=str, default="results", |
| 1258 | help="Results root directory") |
| 1259 | parser.add_argument("--difficulty", type=str, choices=["simple", "middle", "hard"], default=None, |
| 1260 | help="Specify difficulty level (default: all)") |
| 1261 | |
| 1262 | |
| 1263 | parser.add_argument("--generation_model_name", type=str, default="gpt-4o", |
| 1264 | help="Code generation model name") |
| 1265 | parser.add_argument("--generation_base_url", type=str, default="https://api.openai.com/v1", |
| 1266 | help="Code generation API base URL") |
| 1267 | parser.add_argument("--generation_api_key", type=str, default=None, |
| 1268 | help="Code generation API key (use OPENAI_API_KEY env var if not provided)") |
| 1269 | |
| 1270 | |
| 1271 | parser.add_argument("--evaluation_model_name", type=str, default="gpt-4o", |
| 1272 | help="Evaluation model name") |
| 1273 | parser.add_argument("--evaluation_base_url", type=str, default="https://api.openai.com/v1", |
| 1274 | help="Evaluation API base URL") |
| 1275 | parser.add_argument("--evaluation_api_key", type=str, default=None, |
| 1276 | help="Evaluation API key (use OPENAI_API_KEY env var if not provided)") |
| 1277 | |
| 1278 | |
| 1279 | parser.add_argument("--max_retries", type=int, default=5, |
| 1280 | help="Maximum retry count") |
| 1281 | parser.add_argument("--max_qpm", type=int, default=1000, |
| 1282 | help="Maximum requests per minute") |
| 1283 | parser.add_argument("--max_qps", type=int, default=20, |
| 1284 | help="Maximum requests per second") |
| 1285 | |
| 1286 | |
| 1287 | parser.add_argument("--generation_prompt_path", type=str, |
| 1288 | default="prompts/generate_code_prompt.txt", |
| 1289 | help="Code generation system prompt file path") |
| 1290 | parser.add_argument("--evaluation_prompt_path", type=str, |
| 1291 | default="prompts/eval.txt", |
| 1292 | help="Evaluation system prompt file path") |
| 1293 | |
| 1294 | |
| 1295 | parser.add_argument("--max_data_rows", type=int, default=10, |
| 1296 | help="Maximum rows for data preview") |
| 1297 | parser.add_argument("--timeout", type=int, default=120, |
| 1298 | help="Code execution timeout (seconds)") |
| 1299 | parser.add_argument("--diagnose", action="store_true", |
| 1300 | help="Enable diagnostic mode to output detailed information about skipped tasks") |
| 1301 | |
| 1302 | args = parser.parse_args() |
| 1303 | |
| 1304 | |
| 1305 | if args.generation_api_key is None: |
| 1306 | args.generation_api_key = os.getenv("OPENAI_API_KEY") |
| 1307 | if not args.generation_api_key: |
no test coverage detected