Team Ai
Modelpublic

Maaac/CodeLLaMA-Linux-BugFix

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes8downloads
format_for_training.py42 linesDownload Raw Back to dataset_builder
1import json
2
3INPUT_FILE = './output/linux_bugfix_dataset.jsonl'
4OUTPUT_FILE = '../dataset/training_data_prompt_completion.jsonl'
5
6def format_prompt(original_code, instruction):
7    return (
8        "Given the following original C code:\n"
9        f"{original_code.strip()}\n\n"
10        "Instruction:\n"
11        f"{instruction.strip()}\n\n"
12        "Return the diff that fixes it:\n"
13    )
14
15def format_completion(diff_code):
16    return diff_code.strip()
17
18def convert_dataset(input_path, output_path):
19    with open(input_path, 'r', encoding='utf-8') as fin, \
20         open(output_path, 'w', encoding='utf-8') as fout:
21
22        for line in fin:
23            data = json.loads(line)
24            original_code = data["input"]["original code"]
25            instruction = data["input"]["instruction"]
26            diff_code = data["output"]["diff codes"]
27
28            prompt = format_prompt(original_code, instruction)
29            completion = format_completion(diff_code)
30
31            new_entry = {
32                "prompt": prompt,
33                "completion": completion
34            }
35
36            fout.write(json.dumps(new_entry, ensure_ascii=False) + '\n')
37
38    print(f"[DONE] Converted dataset saved to: {output_path}")
39
40if __name__ == "__main__":
41    convert_dataset(INPUT_FILE, OUTPUT_FILE)
42