from datasets import load_dataset from opencompass.datasets.base import BaseDataset from opencompass.registry import LOAD_DATASET from opencompass.utils import get_data_path @LOAD_DATASET.register_module() class ClimateQADataset(BaseDataset): @staticmethod def load(path: str, **kwargs): path = get_data_path(path, local_mode=True) climateqa = load_dataset(path)['train'] input_column = [] for i in range(len(climateqa)): if 'Options' in climateqa[i].keys( ) and climateqa[i]['Options'] is not None: input_column.append(climateqa[i]['Question'] + '\n' + climateqa[i]['Options']) else: input_column.append(climateqa[i]['Question']) climateqa = climateqa.add_column(name='input', column=input_column) return climateqa