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