EvalHarness/evalharness/data/datasets/live_code_bench.py

39 lines
1.5 KiB
Python

"""LiveCodeBench code generation lite (official source: livecodebench/code_generation_lite)."""
from ..sample import Sample
from ..registry import register_dataset
from ..spec import DatasetSpec
@register_dataset(
DatasetSpec(
name='live_code_bench',
source='evalscope/livecodebench_code_generation_lite_parquet', # parquet mirror (ModelScope);
# the HF original is script-based and no longer loadable by datasets>=5
subset='release_latest', # or release_v1..v6 / vX / vX_vY version windows
split='test',
task_type='coding',
tags=['code'],
description='LiveCodeBench (lite) contest problems; version tags via DatasetSpec.version.',
params={'hub': 'modelscope'},
)
)
def live_code_bench():
def to_sample(record: dict) -> Sample:
return Sample(
input=record['question_content'],
target='', # judged by running hidden test cases, no reference text
metadata={
'question_id': record['question_id'],
'contest_id': record.get('contest_id'),
'contest_date': record.get('contest_date'),
'platform': record.get('platform'),
'difficulty': record.get('difficulty'),
'starter_code': record.get('starter_code'),
'public_test_cases': record.get('public_test_cases'),
'private_test_cases': record.get('private_test_cases'),
},
)
return to_sample