strategyqa_gen_1180a7.py 4.14 KB
Newer Older
gaotongxiao's avatar
gaotongxiao committed
1
2
3
4
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
5
from opencompass.datasets import StrategyQADataset, strategyqa_pred_postprocess, strategyqa_dataset_postprocess
gaotongxiao's avatar
gaotongxiao committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

strategyqa_reader_cfg = dict(
    input_columns=['question'],
    output_column='answer',
    train_split='test',
    test_split='test')

strategyqa_infer_cfg = dict(
    prompt_template=dict(
        type=PromptTemplate,
        template=dict(
            round=[
                dict(
                    role='HUMAN',
                    prompt=
                    'Question: Do hamsters provide food for any animals?\nAnswer:'
                ),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
26
                    'Hamsters are prey animals. Prey are food for predators. Thus, hamsters provide food for some animals.\nSo the answer is yes\n'
gaotongxiao's avatar
gaotongxiao committed
27
28
29
30
31
32
33
34
35
                ),
                dict(
                    role='HUMAN',
                    prompt=
                    'Question: Could Brooke Shields succeed at University of Pennsylvania?\nAnswer:'
                ),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
36
                    'Brooke Shields went to Princeton University. Princeton University is about as academically rigorous as the University of Pennsylvania. Thus, Brooke Shields could also succeed at the University of Pennsylvania.\nSo the answer is yes\n'
gaotongxiao's avatar
gaotongxiao committed
37
38
39
40
41
42
43
44
45
                ),
                dict(
                    role='HUMAN',
                    prompt=
                    'Question: Hydrogen\'s atomic number squared exceeds number of Spice Girls?\nAnswer:'
                ),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
46
                    'Hydrogen has an atomic number of 1. 1 squared is 1. There are 5 Spice Girls. Thus, Hydrogen\'s atomic number squared is less than 5.\nSo the answer is no\n'
gaotongxiao's avatar
gaotongxiao committed
47
48
49
50
51
52
53
54
55
                ),
                dict(
                    role='HUMAN',
                    prompt=
                    'Question: Is it common to see frost during some college commencements?\nAnswer:'
                ),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
56
                    'College commencement ceremonies can happen in December, May, and June. December is in the winter, so there can be frost. Thus, there could be frost at some commencements.\nSo the answer is yes\n'
gaotongxiao's avatar
gaotongxiao committed
57
58
59
60
61
62
63
64
65
                ),
                dict(
                    role='HUMAN',
                    prompt=
                    'Question: Yes or no: Could a llama birth twice during War in Vietnam (1945-46)?\nAnswer:'
                ),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
66
                    'The War in Vietnam was 6 months. The gestation period for a llama is 11 months, which is more than 6 months. Thus, a llama could not give birth twice during the War in Vietnam.\nSo the answer is no\n'
gaotongxiao's avatar
gaotongxiao committed
67
68
69
70
71
72
73
                ),
                dict(
                    role='HUMAN',
                    prompt='Question: Would a pear sink in water?\nAnswer:'),
                dict(
                    role='BOT',
                    prompt=
Leymore's avatar
Leymore committed
74
                    'The density of a pear is about 0.6g/cm3, which is less than water. Objects less dense than water float. Thus, a pear would float.\nSo the answer is no\n'
gaotongxiao's avatar
gaotongxiao committed
75
76
77
78
79
80
81
82
                ),
                dict(role='HUMAN', prompt='Question: {question}\nAnswer:'),
            ], )),
    retriever=dict(type=ZeroRetriever),
    inferencer=dict(type=GenInferencer, max_out_len=512))

strategyqa_eval_cfg = dict(
    evaluator=dict(type=AccEvaluator),
Leymore's avatar
Leymore committed
83
84
    pred_postprocessor=dict(type=strategyqa_pred_postprocess),
    dataset_postprocessor=dict(type=strategyqa_dataset_postprocess))
gaotongxiao's avatar
gaotongxiao committed
85
86
87
88

strategyqa_datasets = [
    dict(
        abbr='strategyqa',
89
90
        type=StrategyQADataset,
        path='./data/strategyqa/strategyQA_train.json',
gaotongxiao's avatar
gaotongxiao committed
91
92
93
94
        reader_cfg=strategyqa_reader_cfg,
        infer_cfg=strategyqa_infer_cfg,
        eval_cfg=strategyqa_eval_cfg)
]