download_swe_bench_data.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import argparse
  2. import json
  3. import pandas as pd
  4. from datasets import load_dataset
  5. parser = argparse.ArgumentParser()
  6. parser.add_argument(
  7. 'output_dir',
  8. type=str,
  9. default='eval_data/instances',
  10. help='Path to the directory to save the instances.',
  11. )
  12. args = parser.parse_args()
  13. dataset = load_dataset('princeton-nlp/SWE-bench')
  14. test = dataset['test'].to_pandas()
  15. test['FAIL_TO_PASS'] = test['FAIL_TO_PASS'].apply(json.loads)
  16. test['PASS_TO_PASS'] = test['PASS_TO_PASS'].apply(json.loads)
  17. test.to_json(f'{args.output_dir}/swe-bench-test.json', orient='records')
  18. dataset = load_dataset('princeton-nlp/SWE-bench_Lite')
  19. test = dataset['test'].to_pandas()
  20. test['FAIL_TO_PASS'] = test['FAIL_TO_PASS'].apply(json.loads)
  21. test['PASS_TO_PASS'] = test['PASS_TO_PASS'].apply(json.loads)
  22. test.to_json(f'{args.output_dir}/swe-bench-lite-test.json', orient='records')
  23. dev = dataset['dev'].to_pandas()
  24. dev['FAIL_TO_PASS'] = dev['FAIL_TO_PASS'].apply(json.loads)
  25. dev['PASS_TO_PASS'] = dev['PASS_TO_PASS'].apply(json.loads)
  26. dev.to_json(f'{args.output_dir}/swe-bench-lite-dev.json', orient='records')
  27. all_data = pd.concat([test, dev])
  28. all_data.to_json(f'{args.output_dir}/swe-bench-lite-all.json', orient='records')