api-demo
/
opencompass-my-api
/build
/lib
/opencompass
/datasets
/reasonbench
/ReasonBenchDataset.py
import json | |
from datasets import Dataset | |
from opencompass.registry import LOAD_DATASET | |
from ..base import BaseDataset | |
class ReasonBenchDataset(BaseDataset): | |
def load(path: str): | |
raw_data = [] | |
with open(path, 'r', encoding='utf-8') as f: | |
for line in f: | |
line = json.loads(line) | |
prompt = line.get('prompt', '') | |
prompt_ppl = line.get('prompt_ppl', '') | |
label = line.get('label', '') | |
label_ppl = line.get('label_ppl', '') | |
choices = line.get('choices', '') | |
tag = line.get('tag', '') | |
source = line.get('source', '') | |
option_content = {choice: line[choice] for choice in choices} | |
data = { | |
'prompt': prompt, | |
'label': label, | |
'prompt_ppl': prompt_ppl, | |
'label_ppl': str(label_ppl)[0], | |
'choices': choices, | |
'tag': tag, | |
'source': source, | |
} | |
data.update(option_content) | |
raw_data.append(data) | |
dataset = Dataset.from_list(raw_data) | |
return dataset | |