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 TabMWPDataset, TabMWPEvaluator # None of the TabMWP dataset in huggingface is correctly parsed, so we use our own dataset reader # Please download the dataset from https://github.com/lupantech/PromptPG/tree/main input_format='TQ' output_format='A' elements = {"Q": "Question: {question}", "T": "Table: {table}", "S": "Solution: {solution}", "A": "Answer: The answer is {answer}.", "AS": "Answer: The answer is {answer}. BECAUSE: {solution}", "SA": "Answer: {solution} The answer is {answer}."} TabMWP_reader_cfg = dict( input_columns=["question", "table"], output_column="test_elements", train_split='dev', ) TabMWP_infer_cfg = dict( prompt_template=dict( type=PromptTemplate, template=dict( round=[ dict( role="HUMAN", prompt= "\n".join(elements[label] for label in input_format) ), ], ), ), retriever=dict(type=ZeroRetriever), inferencer=dict(type=GenInferencer), ) TabMWP_eval_cfg = dict( evaluator=dict(type=TabMWPEvaluator) ) TabMWP_datasets = [ dict( type=TabMWPDataset, path="./data/tabmwp/", reader_cfg=TabMWP_reader_cfg, infer_cfg=TabMWP_infer_cfg, eval_cfg=TabMWP_eval_cfg,) ]