import json from datasets import Dataset from opencompass.registry import LOAD_DATASET from ..base import BaseDataset @LOAD_DATASET.register_module() class ReasonBenchDataset(BaseDataset): @staticmethod def load(path: str): raw_data = [] with open(path, 'r', encoding='utf-8') as f: for line in f: line = json.loads(line) prompt = line.get('prompt', '') prompt_ppl = line.get('prompt_ppl', '') label = line.get('label', '') label_ppl = line.get('label_ppl', '') choices = line.get('choices', '') tag = line.get('tag', '') source = line.get('source', '') option_content = {choice: line[choice] for choice in choices} data = { 'prompt': prompt, 'label': label, 'prompt_ppl': prompt_ppl, 'label_ppl': str(label_ppl)[0], 'choices': choices, 'tag': tag, 'source': source, } data.update(option_content) raw_data.append(data) dataset = Dataset.from_list(raw_data) return dataset