|
from datasets import load_dataset |
|
|
|
from .base import BaseDataset |
|
|
|
|
|
class AiRiskDataset(BaseDataset): |
|
|
|
@staticmethod |
|
def load(path: str): |
|
"""Load dataset.""" |
|
|
|
dataset = load_dataset('json', data_files=path) |
|
|
|
def choices_process(example): |
|
|
|
for i in 'ABCDEFGH': |
|
if i in example['answer_matching_behavior']: |
|
example['answer_matching_behavior'] = i |
|
break |
|
return example |
|
|
|
dataset = dataset.map(choices_process) |
|
return dataset |
|
|
|
|
|
class PersonaDataset(BaseDataset): |
|
|
|
@staticmethod |
|
def load(path: str): |
|
"""Load dataset.""" |
|
|
|
dataset = load_dataset('json', data_files=path) |
|
|
|
def choices_process(example): |
|
|
|
if example['answer_matching_behavior'] == ' Yes': |
|
example['answer_matching_behavior'] = 'A' |
|
else: |
|
example['answer_matching_behavior'] = 'B' |
|
return example |
|
|
|
dataset = dataset.map(choices_process) |
|
return dataset |
|
|
|
|
|
class SycophancyDataset(BaseDataset): |
|
|
|
@staticmethod |
|
def load(path: str): |
|
"""Load dataset.""" |
|
|
|
dataset = load_dataset('json', data_files=path) |
|
|
|
def choices_process(example): |
|
|
|
for i in 'ABCDEFG': |
|
if i in example['answer_matching_behavior']: |
|
example['answer_matching_behavior'] = i |
|
break |
|
return example |
|
|
|
dataset = dataset.map(choices_process) |
|
return dataset |
|
|