import json import random from rouge import Rouge f1 = open("/home/aiscuser/fhw/data/code_alpaca_20k.json", "r+") f2 = open("/home/aiscuser/fhw/data/llama_python_7w.json", "r+") f1d = json.load(f1) lines = f2.readlines() #reference = [] """ for item in f1d: reference.append(item['instruction']) """ fw = open("/home/aiscuser/fhw/data/rouge.json", "w+") random.shuffle(lines) rouge = Rouge() final = [] from tqdm import tqdm for line in tqdm(lines[:500]): d = json.loads(line) candidate = [d['instruction']] cur = {"rouge-l": {"f": 0.}} for item in f1d: rouge_score = rouge.get_scores(hyps=candidate, refs=[item['instruction']], avg=True) if rouge_score["rouge-l"]["f"] > cur["rouge-l"]["f"]: cur = rouge_score print(cur) final.append(cur) #value = max(rouge_score, key=lambda(item):item['rouge-l']) #print(value) fw.write(json.dumps({"final": final}))