Spaces:
Runtime error
Runtime error
codellama-CodeLlama-7b-hf
/
Llama2-Code-Interpreter-main
/OpenCodeInterpreter
/evaluation
/evalplus
/tools
/humaneval
/fix_v018.py
| import math | |
| def check_id(data, task_id): | |
| assert data[task_id]["task_id"] == f"HumanEval/{task_id}" | |
| def fix(data): | |
| # https://github.com/evalplus/evalplus/issues/44 | |
| check_id(data, 115) | |
| data[115]["prompt"] = "import math\n" + data[115]["prompt"].replace( | |
| " import math\n", "" | |
| ) | |
| check_id(data, 114) | |
| data[114]["prompt"] = data[114]["prompt"].replace("import math\n", "") | |
| # https://github.com/evalplus/evalplus/issues/30#issue-1944054257 | |
| check_id(data, 35) | |
| data[35][ | |
| "contract" | |
| ] += ' assert all(type(x) in [int, float] for x in l), "invalid inputs" # $_CONTRACT_$\n' | |
| data[35]["canonical_solution"] = data[35]["canonical_solution"].replace( | |
| ' assert all(type(x) in [int, float] for x in l), "invalid inputs"\n', "" | |
| ) | |
| # https://github.com/evalplus/evalplus/issues/30#issuecomment-1763502126 | |
| check_id(data, 28) | |
| data[28][ | |
| "contract" | |
| ] += ' assert isinstance(strings, list), "invalid inputs" # $_CONTRACT_$\n' | |
| # https://github.com/evalplus/evalplus/issues/34 | |
| check_id(data, 32) | |
| terms = data[32]["contract"].splitlines() | |
| terms.insert(2, ' assert xs[-1] != 0, "invalid inputs" # $_CONTRACT_$') | |
| data[32]["contract"] = "\n".join(terms) | |
| # https://github.com/evalplus/evalplus/issues/35 | |
| check_id(data, 160) | |
| terms = data[160]["contract"].splitlines() | |
| terms.insert( | |
| len(terms), | |
| ' assert not any([operand[i-1] == 0 and operator[i] == "//" for i in range(1, len(operand))]), "invalid inputs" # $_CONTRACT_$', | |
| ) | |
| data[160]["contract"] = "\n".join(terms) | |
| return data | |
| if __name__ == "__main__": | |
| import json | |
| TASK_INSPECT = [28, 32, 35, 114, 115, 160] | |
| SOURCE_VERSION = "v0.1.8" | |
| TARGET_VERSION = "v0.1.9" | |
| def evolve(src_file, tgt_file): | |
| with open(src_file) as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = fix(data) | |
| with open(tgt_file, "wb") as f: | |
| for x in data: | |
| f.write((json.dumps(x) + "\n").encode("utf-8")) | |
| evolve( | |
| f"HumanEvalPlus-{SOURCE_VERSION}.jsonl", f"HumanEvalPlus-{TARGET_VERSION}.jsonl" | |
| ) | |
| evolve( | |
| f"HumanEvalPlus-Mini-{SOURCE_VERSION}.jsonl", | |
| f"HumanEvalPlus-Mini-{TARGET_VERSION}.jsonl", | |
| ) | |
| # Debug the output of jsonl | |
| with open(f"HumanEvalPlus-{TARGET_VERSION}.jsonl") as f: | |
| data = [json.loads(line) for line in f.readlines() if line] | |
| data = {x["task_id"]: x for x in data} | |
| for tid in TASK_INSPECT: | |
| code = ( | |
| data[f"HumanEval/{tid}"]["prompt"] | |
| + data[f"HumanEval/{tid}"]["contract"] | |
| + data[f"HumanEval/{tid}"]["canonical_solution"] | |
| ) | |
| print(code) | |
| exec(code) | |
| print("====================================") | |