Views
No views yet
1import json
2datasets = []
3with open("./elyza-tasks-100-TV_0.jsonl", "r") as f:
4 item = ""
5 for line in f:
6 line = line.strip()
7 item += line
8 if item.endswith("}"):
9 datasets.append(json.loads(item))
10 item = ""
11
12from tqdm import tqdm
13
14FastLanguageModel.for_inference(model)
15
16results = []
17for dt in tqdm(datasets):
18 input = dt["input"]
19
20 prompt = f"""### 指示\n{input}\n### 回答\n"""
21
22 inputs = tokenizer([prompt], return_tensors = "pt").to(model.device)
23
24 outputs = model.generate(**inputs, max_new_tokens = 512, use_cache = True, do_sample=False, repetition_penalty=1.2)
25 prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]
26
27 results.append({"task_id": dt["task_id"], "input": input, "output": prediction})
28
29with open(f"{new_model_id}_output.jsonl", 'w', encoding='utf-8') as f:
30 for result in results:
31 json.dump(result, f, ensure_ascii=False)
32 f.write('\n')