OpenCompass/opencompass/datasets/rbench.py
2025-05-28 14:59:49 +08:00

38 lines
1.0 KiB
Python

from datasets import Dataset, load_dataset
from opencompass.registry import LOAD_DATASET
from .base import BaseDataset
@LOAD_DATASET.register_module()
class RBenchDataset(BaseDataset):
@staticmethod
def load_single(subset='en'):
raw_data = []
ds = load_dataset('R-Bench/R-Bench', f'rbench-t_{subset}')
for data in ds['test']:
raw_data.append({
'RBench_Question_Input': data['question'],
'RBench_Option_A': data['A'],
'RBench_Option_B': data['B'],
'RBench_Option_C': data['C'],
'RBench_Option_D': data['D'],
'RBench_Option_E': data['E'],
'RBench_Option_F': data['F'],
'target': data['answer'],
})
return Dataset.from_list(raw_data)
@staticmethod
def load(subset='en', **kwargs):
test_dataset = RBenchDataset.load_single(subset=subset)
return test_dataset
if __name__ == '__main__':
dataset = RBenchDataset.load()
print(dataset)