alKoGolik's picture
Upload 169 files
c87c295 verified
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"))