34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
"""BigCodeBench (official source: bigcode/bigcodebench)."""
|
|
|
|
from ..sample import Sample
|
|
from ..registry import register_dataset
|
|
from ..spec import DatasetSpec
|
|
|
|
|
|
@register_dataset(
|
|
DatasetSpec(
|
|
name='bigcodebench',
|
|
source='bigcode/bigcodebench', # official: https://huggingface.co/datasets/bigcode/bigcodebench
|
|
split='v0.1.4', # BigCodeBench versions are published as splits
|
|
gen_config={'temperature': 0.0, 'max_tokens': 32768},
|
|
task_type='coding',
|
|
tags=['code'],
|
|
description='BigCodeBench: practical library-level function synthesis (official).',
|
|
)
|
|
)
|
|
def bigcodebench():
|
|
def to_sample(record: dict) -> Sample:
|
|
return Sample(
|
|
input=record['instruct_prompt'], # 'complete_prompt' is the alternative prompt style
|
|
target=record['canonical_solution'],
|
|
metadata={
|
|
'task_id': record['task_id'],
|
|
'test': record['test'],
|
|
'entry_point': record['entry_point'],
|
|
'code_prompt': record.get('code_prompt'),
|
|
'libs': record.get('libs'),
|
|
},
|
|
)
|
|
|
|
return to_sample
|