()
| 240 | return optimized_data |
| 241 | |
| 242 | async def main(): |
| 243 | # Main function |
| 244 | parser = argparse.ArgumentParser(description='Run experiments on various datasets') |
| 245 | parser.add_argument('--dataset', type=str, default='math', |
| 246 | choices=list(DATASET_CONFIGS.keys()), |
| 247 | help='Dataset to run experiment on') |
| 248 | parser.add_argument('--start', type=int, default=0, |
| 249 | help='Start index of the dataset') |
| 250 | parser.add_argument('--end', type=int, default=2, |
| 251 | help='End index of the dataset (-1 for all)') |
| 252 | parser.add_argument('--model', type=str, default='gpt-4o-mini', |
| 253 | help='Model to use for the experiment') |
| 254 | parser.add_argument('--mode', type=str, choices=['atom', 'plugin'], default='atom', |
| 255 | help='Mode: atom (standard experiment) or plugin (generate contracted dataset)') |
| 256 | parser.add_argument('--max_concurrent', type=int, default=1000, |
| 257 | help='Maximum number of concurrent tasks (default: 50)') |
| 258 | |
| 259 | args = parser.parse_args() |
| 260 | |
| 261 | if args.mode == 'plugin': |
| 262 | # Run plugin mode |
| 263 | await optimize_dataset( |
| 264 | dataset=args.dataset, |
| 265 | model=args.model, |
| 266 | start=args.start, |
| 267 | end=args.end |
| 268 | ) |
| 269 | elif args.mode == 'atom': |
| 270 | # Run standard experiment |
| 271 | runner = ExperimentRunner( |
| 272 | dataset=args.dataset, |
| 273 | model=args.model, |
| 274 | start=args.start, |
| 275 | end=args.end, |
| 276 | mode=args.mode, |
| 277 | max_concurrent=args.max_concurrent |
| 278 | ) |
| 279 | await runner.run() |
| 280 | else: |
| 281 | raise ValueError(f"Invalid mode: {args.mode}") |
| 282 | |
| 283 | if __name__ == "__main__": |
| 284 | asyncio.run(main()) |
no test coverage detected