|
from opencompass.openicl.icl_prompt_template import PromptTemplate |
|
from opencompass.openicl.icl_retriever import ZeroRetriever |
|
from opencompass.openicl.icl_inferencer import GenInferencer |
|
from opencompass.openicl.icl_evaluator import AccEvaluator |
|
from opencompass.datasets import AGIEvalDataset, AGIEvalEvaluator |
|
from opencompass.utils.text_postprocessors import first_capital_postprocess |
|
|
|
agieval_reader_cfg = dict( |
|
input_columns=['problem_input'], output_column='label') |
|
|
|
agieval_single_choice_sets = [ |
|
'gaokao-chinese', |
|
'gaokao-english', |
|
'gaokao-geography', |
|
'gaokao-history', |
|
'gaokao-biology', |
|
'gaokao-chemistry', |
|
'gaokao-mathqa', |
|
'logiqa-zh', |
|
'lsat-ar', |
|
'lsat-lr', |
|
'lsat-rc', |
|
'logiqa-en', |
|
'sat-math', |
|
'sat-en', |
|
'sat-en-without-passage', |
|
'aqua-rat', |
|
] |
|
agieval_multiple_choices_sets = [ |
|
'gaokao-physics', |
|
'jec-qa-kd', |
|
'jec-qa-ca', |
|
] |
|
agieval_cloze_sets = ['gaokao-mathcloze', 'math'] |
|
|
|
agieval_datasets = [] |
|
for name in agieval_single_choice_sets: |
|
agieval_infer_cfg = dict( |
|
prompt_template=dict( |
|
type=PromptTemplate, |
|
template=dict( |
|
round=[dict(role='HUMAN', prompt='{problem_input}')])), |
|
retriever=dict(type=ZeroRetriever), |
|
inferencer=dict(type=GenInferencer, labels=['A', 'B', 'C', 'D'])) |
|
|
|
agieval_eval_cfg = dict( |
|
evaluator=dict(type=AccEvaluator), |
|
pred_postprocessor=dict(type=first_capital_postprocess)) |
|
|
|
agieval_datasets.append( |
|
dict( |
|
type=AGIEvalDataset, |
|
path='./data/AGIEval/data/v1/', |
|
name=name, |
|
abbr='agieval-' + name, |
|
setting_name='zero-shot', |
|
reader_cfg=agieval_reader_cfg, |
|
infer_cfg=agieval_infer_cfg.copy(), |
|
eval_cfg=agieval_eval_cfg.copy())) |
|
|
|
for name in agieval_multiple_choices_sets + agieval_cloze_sets: |
|
agieval_infer_cfg = dict( |
|
prompt_template=dict( |
|
type=PromptTemplate, |
|
template=dict( |
|
round=[dict(role="HUMAN", prompt='{problem_input}')])), |
|
retriever=dict(type=ZeroRetriever |
|
), |
|
inferencer=dict(type=GenInferencer)) |
|
|
|
agieval_eval_cfg = dict( |
|
evaluator=dict(type=AGIEvalEvaluator), pred_role="BOT") |
|
|
|
agieval_datasets.append( |
|
dict( |
|
type=AGIEvalDataset, |
|
path='./data/AGIEval/data/v1/', |
|
name=name, |
|
abbr='agieval-' + name, |
|
setting_name='zero-shot', |
|
reader_cfg=agieval_reader_cfg, |
|
infer_cfg=agieval_infer_cfg.copy(), |
|
eval_cfg=agieval_eval_cfg.copy())) |
|
|
|
del name, agieval_infer_cfg, agieval_eval_cfg |
|
|