OpenCompass/opencompass/configs/datasets/R-Bench/rbench_gen_37cbaf8.py
2025-05-11 13:26:25 +08:00

77 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 AccwithDetailsEvaluator
from opencompass.datasets import RBenchDataset
from opencompass.utils.text_postprocessors import first_option_postprocess
RBench_reader_cfg = dict(input_columns=[
'RBench_Question_Input', 'RBench_Option_A', 'RBench_Option_B',
'RBench_Option_C', 'RBench_Option_D', 'RBench_Option_E', 'RBench_Option_F'
],
output_column='target')
RBench_datasets = []
systemp_prompt_en = "Answer the following single choice question. The last line of your response should be of the following format: 'ANSWER: $LETTER' (without quotes) where LETTER is one of Options(e.g. one of ABCDEF). Think step by step before answering."
systemp_prompt_zh = "回答以下单选题。答案的最后一行应采用以下格式:“答案是$LETTER”不带引号其中 LETTER 是选项之一(例如 ABCDEF 之一)。回答前请逐步思考。"
RBench_infer_en_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN',
prompt=
f'{systemp_prompt_en}\nQuestion: {{RBench_Question_Input}}\nA. {{RBench_Option_A}}\nB. {{RBench_Option_B}}\nC. {{RBench_Option_C}}\nD. {{RBench_Option_D}}\nE. {{RBench_Option_E}}\nF. {{RBench_Option_F}}\nAnswer: '
),
], ),
),
retriever=dict(type=ZeroRetriever),
inferencer=dict(type=GenInferencer),
)
RBench_infer_zh_cfg = dict(
prompt_template=dict(
type=PromptTemplate,
template=dict(round=[
dict(
role='HUMAN',
prompt=
f'{systemp_prompt_zh}\n问题: {{RBench_Question_Input}}\nA. {{RBench_Option_A}}\nB. {{RBench_Option_B}}\nC. {{RBench_Option_C}}\nD. {{RBench_Option_D}}\nE. {{RBench_Option_E}}\nF. {{RBench_Option_F}}\n答案: '
),
], ),
),
retriever=dict(type=ZeroRetriever),
inferencer=dict(type=GenInferencer),
)
RBench_eval_cfg = dict(evaluator=dict(type=AccwithDetailsEvaluator),
pred_postprocessor=dict(type=first_option_postprocess,
options='ABCDEF'))
RBench_datasets.append(
dict(
abbr=f'R-Bench_en',
type=RBenchDataset,
path='opencompass/R-Bench',
name='R-Bench',
subset='en',
reader_cfg=RBench_reader_cfg,
infer_cfg=RBench_infer_en_cfg,
eval_cfg=RBench_eval_cfg,
))
RBench_datasets.append(
dict(
abbr=f'R-Bench_zh',
type=RBenchDataset,
path='opencompass/R-Bench',
name='R-Bench',
subset='zh',
reader_cfg=RBench_reader_cfg,
infer_cfg=RBench_infer_zh_cfg,
eval_cfg=RBench_eval_cfg,
))