| import math | |
| def check_id(data, task_id): | |
| assert data[task_id]["task_id"] == f"HumanEval/{task_id}" | |
| def check_valid(s: str): | |
| cnt = 0 | |
| for ch in s: | |
| if ch == "(": | |
| cnt += 1 | |
| elif ch == ")": | |
| cnt -= 1 | |
| else: | |
| return False | |
| if cnt < 0: | |
| return False | |
| return cnt == 0 | |
| def fix(data): | |
| check_id(data, 126) | |
| data[126]["contract"] = ( | |
| '\n assert type(lst) == list, "invalid inputs" # $_CONTRACT_$' | |
| + '\n assert all(type(x) == int and x >= 0 for x in lst), "invalid inputs" # $_CONTRACT_$\n' | |
| ) | |
| data[126]["plus_input"] = [ | |
| l | |
| for l in data[126]["plus_input"] | |
| if type(l[0]) == list and all(type(x) == int and x >= 0 for x in l[0]) | |
| ] | |
| check_id(data, 6) | |
| data[6]["contract"] += ' assert cnt == 0, "invalid inputs"\n' | |
| data[6]["plus_input"] = [l for l in data[6]["plus_input"] if check_valid(l[0])] | |
| return data | |
| if __name__ == "__main__": | |
| import json | |
| with open("HumanEvalPlus-v0.1.5.jsonl") as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = fix(data) | |
| with open("HumanEvalPlus-v0.1.6.jsonl", "wb") as f: | |
| for x in data: | |
| f.write((json.dumps(x) + "\n").encode("utf-8")) | |
| with open("HumanEvalPlus-Mini-v0.1.5.jsonl") as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = fix(data) | |
| with open("HumanEvalPlus-Mini-v0.1.6.jsonl", "wb") as f: | |
| for x in data: | |
| f.write((json.dumps(x) + "\n").encode("utf-8")) | |