OpenCompass/opencompass/datasets/devops_eval.py
2024-01-03 10:58:57 +08:00

29 lines
917 B
Python

import csv
import os.path as osp
from datasets import Dataset, DatasetDict
from opencompass.registry import LOAD_DATASET
from .base import BaseDataset
@LOAD_DATASET.register_module()
class DevOpsEvalDataset(BaseDataset):
@staticmethod
def load(path: str, name: str, language: str):
dataset = {}
for split in ['dev', 'test']:
filename = osp.join(path, language, split, f'{name}.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)