OpenCompass/opencompass/datasets/piqa.py
Leymore 14332e08fd
[Feature] add llama-oriented dataset configs (#82)
* add llama-oriented dataset configs

* update

* revert cvalues & update llama_example
2023-08-11 12:48:05 +08:00

51 lines
1.5 KiB
Python

from datasets import load_dataset
from opencompass.registry import LOAD_DATASET
from .base import BaseDataset
@LOAD_DATASET.register_module()
class piqaDataset_V2(BaseDataset):
@staticmethod
def load(**kwargs):
dataset = load_dataset(**kwargs)
def preprocess(example):
assert isinstance(example['label'], int)
if example['label'] < 0:
example['answer'] = 'NULL'
else:
example['answer'] = 'AB'[example['label']]
example.pop('label')
return example
dataset = dataset.map(preprocess)
return dataset
@LOAD_DATASET.register_module()
class piqaDataset_V3(BaseDataset):
@staticmethod
def load(**kwargs):
dataset = load_dataset(**kwargs)
def preprocess(example):
example['goal'] = example['goal'][0].upper() + example['goal'][1:]
if example['goal'].endswith('?') or example['goal'].endswith('.'):
example['sol1'] = example['sol1'][0].upper(
) + example['sol1'][1:]
example['sol2'] = example['sol2'][0].upper(
) + example['sol2'][1:]
else:
example['sol1'] = example['sol1'][0].lower(
) + example['sol1'][1:]
example['sol2'] = example['sol2'][0].lower(
) + example['sol2'][1:]
return example
dataset = dataset.map(preprocess)
return dataset