"""
Extract the conversations generated by GPT-4 only.

Usage: python3 -m fastchat.data.extract_gpt4_only --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]
    new_content = []
    for c in content:
        model = c.get("model", None)
        if model == "gpt4" or model is None:
            new_content.append(c)

    if args.out_file:
        out_file = args.out_file
    else:
        out_file = args.in_file.replace(".json", "_gpt4.json")

    print(f"#in: {len(content)}, #out: {len(new_content)}")
    json.dump(new_content, open(out_file, "w"), indent=2, ensure_ascii=False)
