""" | |
Extract the first round of the conversations. | |
Usage: python3 -m fastchat.data.extract_single_round --in sharegpt.json | |
""" | |
import argparse | |
import json | |
if __name__ == "__main__": | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--in-file", type=str, required=True) | |
parser.add_argument("--out-file", type=str) | |
parser.add_argument("--begin", type=int) | |
parser.add_argument("--end", type=int) | |
args = parser.parse_args() | |
content = json.load(open(args.in_file, "r")) | |
content = content[args.begin : args.end] | |
for c in content: | |
c["conversations"] = c["conversations"][:2] | |
if args.out_file: | |
out_file = args.out_file | |
else: | |
out_file = args.in_file.replace(".json", "_single.json") | |
print(f"#in: {len(content)}, #out: {len(content)}") | |
json.dump(content, open(out_file, "w"), indent=2, ensure_ascii=False) | |