File size: 1,275 Bytes
24c2665
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from tools.humaneval.fix_utils import check_id, debug_output, evolve, replay_contract


def fix(data):
    # https://github.com/evalplus/evalplus/issues/180
    check_id(data, 1)
    replay_contract(data, 1)

    # https://github.com/evalplus/evalplus/issues/181
    check_id(data, 28)
    replay_contract(data, 28)

    # https://github.com/evalplus/evalplus/issues/182
    check_id(data, 99)
    data[99]["contract"] = data[99]["contract"].replace(
        "float(value)", "value = float(value)"
    )
    replay_contract(data, 99)

    # https://github.com/evalplus/evalplus/issues/185
    check_id(data, 160)
    data[160]["contract"] = data[160]["contract"].replace(
        'operand[i-1] == 0 and operator[i] == "//"',
        'operand[i] == 0 and operator[i-1] == "//"',
    )
    replay_contract(data, 160)

    return data


if __name__ == "__main__":
    TASK_INSPECT = [1, 28, 99, 160]
    SOURCE_VERSION = "v0.1.9"
    TARGET_VERSION = "v0.1.10"

    evolve(
        f"HumanEvalPlus-{SOURCE_VERSION}.jsonl",
        f"HumanEvalPlus-{TARGET_VERSION}.jsonl",
        fix,
    )
    evolve(
        f"HumanEvalPlus-Mini-{SOURCE_VERSION}.jsonl",
        f"HumanEvalPlus-Mini-{TARGET_VERSION}.jsonl",
        fix,
    )

    debug_output(TARGET_VERSION, TASK_INSPECT)