OpenCompass/opencompass/datasets/ceval.py

29 lines
902 B
Python
Raw Normal View History

import csv
2023-07-05 09:01:25 +08:00
import os.path as osp
from datasets import Dataset, DatasetDict
2023-07-05 09:01:25 +08:00
from opencompass.registry import LOAD_DATASET
from .base import BaseDataset
@LOAD_DATASET.register_module()
class CEvalDataset(BaseDataset):
@staticmethod
def load(path: str, name: str):
dataset = {}
for split in ['dev', 'val', 'test']:
2023-10-27 20:31:22 +08:00
filename = osp.join(path, split, f'{name}_{split}.csv')
with open(filename, encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader)
for row in reader:
item = dict(zip(header, row))
item.setdefault('explanation', '')
item.setdefault('answer', '')
dataset.setdefault(split, []).append(item)
dataset = {i: Dataset.from_list(dataset[i]) for i in dataset}
return DatasetDict(dataset)