| import math | |
| def check_id(data, task_id): | |
| assert data[task_id]["task_id"] == f"HumanEval/{task_id}" | |
| def check_valid(op, num): | |
| try: | |
| exp = "" | |
| for i in range(len(op)): | |
| exp += str(num[i]) + str(op[i]) | |
| exp += str(num[-1]) | |
| exp = str(eval(exp)) | |
| except: | |
| return False | |
| return True | |
| def fix(data): | |
| check_id(data, 160) | |
| data[160]["plus_input"] = [ | |
| l for l in data[160]["plus_input"] if check_valid(l[0], l[1]) | |
| ] | |
| return data | |
| if __name__ == "__main__": | |
| import json | |
| with open("HumanEvalPlus-v0.1.6.jsonl") as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = fix(data) | |
| with open("HumanEvalPlus-v0.1.7.jsonl", "wb") as f: | |
| for x in data: | |
| f.write((json.dumps(x) + "\n").encode("utf-8")) | |
| with open("HumanEvalPlus-Mini-v0.1.6.jsonl") as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = fix(data) | |
| with open("HumanEvalPlus-Mini-v0.1.7.jsonl", "wb") as f: | |
| for x in data: | |
| f.write((json.dumps(x) + "\n").encode("utf-8")) | |