File size: 1,410 Bytes
0612e53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import json
import sys

if len(sys.argv) != 2:
    print("Usage: python script.py <json filename>")
    sys.exit(1)

filename = sys.argv[1]

# JSONファイルを読み込む
with open(filename, 'r', encoding='utf-8') as f:
    data = json.load(f)
print(len(data))

INPUT_PROMPT = r'<s>\n以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。\n[SEP]\n指示:\n{instruction}\n[SEP]\n入力:\n{input}\n[SEP]\n応答:\n{output}\n</s>'
NO_INPUT_PROMPT = r'<s>\n以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。\n[SEP]\n指示:\n{instruction}\n[SEP]\n応答:\n{output}\n</s>'
with open('dolly-oasst1-ja.txt', 'w', encoding='utf-8') as output_file:
    for d in data:
        if d["output"].strip() == "":
            continue
        elif d['input'] != "":
            text = INPUT_PROMPT.format(
                instruction=d["instruction"].strip().replace("\n", "\\n"),
                input=d["input"].strip().replace("\n", "\\n"),
                output=d["output"].strip().replace("\n", "\\n")
            )
        else:
            text = NO_INPUT_PROMPT.format(
                instruction=d["instruction"].strip().replace("\n", "\\n"),
                output=d["output"].strip().replace("\n", "\\n")
            )
        output_file.write(text + '\n')