from opencompass.openicl.icl_prompt_template import PromptTemplate from opencompass.openicl.icl_retriever import ZeroRetriever from opencompass.openicl.icl_inferencer import GenInferencer from opencompass.datasets import PJExamDataset, PJExamEvaluator PJExam_datasets = [] for _name in [ 'gk-2022-v1', 'gk-2022-v1-math', 'gk-2023-v1', 'gk-2023-v1-math', 'gk-2023-v2', 'gk-2023-v2-math', 'zk-2022-v1' ]: _hint = '请你做一道选择题\n请你一步一步思考并将思考过程写在【解析】和之间。你将从A,B,C,D中选出正确的答案,并写在【答案】和之间。\n例如:【答案】A\n完整的题目回答的格式如下:\n【解析】...\n【答案】...\n请你严格按照上述格式作答。\n题目如下:\n' _reader_cfg = { 'input_columns': ['question'], 'output_column': 'std_ans', }, _infer_cfg = { 'ice_template': { 'type': PromptTemplate, 'template': { 'round': [{ 'role': 'HUMAN', 'prompt': _hint + '{question}', }] }, 'ice_token': '' }, 'retriever': { 'type': ZeroRetriever }, 'inferencer': { 'type': GenInferencer, 'max_out_len': 1024, } } _eval_cfg = { 'evaluator': { 'type': PJExamEvaluator }, 'pred_role': 'BOT', 'ds_column': 'eval_infos' } _dataset = { 'type': PJExamDataset, 'abbr': 'PJExamDataset-' + _name, 'path': './data/PJExam', 'name': _name, 'reader_cfg': _reader_cfg, 'infer_cfg': _infer_cfg, 'eval_cfg': _eval_cfg, } PJExam_datasets.append(_dataset) del _name, _hint, _reader_cfg, _infer_cfg, _eval_cfg, _dataset