|
""" |
|
Take the intersection of two conversation files. |
|
|
|
Usage: python3 -m fastchat.data.merge --input input.json --conv-id conv_id_file.json --out intersect.json |
|
""" |
|
|
|
import argparse |
|
import json |
|
|
|
|
|
if __name__ == "__main__": |
|
parser = argparse.ArgumentParser() |
|
parser.add_argument("--input", type=str, required=True) |
|
parser.add_argument("--conv-id", type=str, required=True) |
|
parser.add_argument("--out-file", type=str, default="intersect.json") |
|
args = parser.parse_args() |
|
|
|
conv_id_objs = json.load(open(args.conv_id, "r")) |
|
conv_ids = set(x["conversation_id"] for x in conv_id_objs) |
|
|
|
objs = json.load(open(args.input, "r")) |
|
after_objs = [x for x in objs if x["conversation_id"] in conv_ids] |
|
|
|
print(f"#in: {len(objs)}, #out: {len(after_objs)}") |
|
json.dump(after_objs, open(args.out_file, "w"), indent=2, ensure_ascii=False) |
|
|