teval_zh_gen_1ac254.py 1.69 KB
Newer Older
1
2
3
4
5
6
7
from opencompass.openicl.icl_prompt_template import PromptTemplate
from opencompass.openicl.icl_retriever import ZeroRetriever
from opencompass.openicl.icl_inferencer import ChatInferencer
from opencompass.openicl.icl_evaluator import TEvalEvaluator
from opencompass.datasets import teval_postprocess, TEvalDataset

teval_subject_mapping = {
8
9
10
11
12
13
14
    'instruct_zh': ['instruct_v1_zh'],
    'plan_zh': ['plan_json_v1_zh', 'plan_str_v1_zh'],
    'review_zh': ['review_str_v1_zh'],
    'reason_retrieve_understand_zh': ['reason_retrieve_understand_json_v1_zh'],
    'reason_zh': ['reason_str_v1_zh'],
    'retrieve_zh': ['retrieve_str_v1_zh'],
    'understand_zh': ['understand_str_v1_zh'],
15
16
}

17
teval_reader_cfg = dict(input_columns=['prompt'], output_column='ground_truth')
18
19
20
21
22
23

teval_infer_cfg = dict(
    prompt_template=dict(
        type=PromptTemplate,
        template=dict(
            round=[
24
                dict(role='HUMAN', prompt='{prompt}'),
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
            ],
        ),
    ),
    retriever=dict(type=ZeroRetriever),
    inferencer=dict(type=ChatInferencer),
)

teval_all_sets = list(teval_subject_mapping.keys())

teval_datasets = []
for _name in teval_all_sets:
    teval_eval_cfg = dict(
        evaluator=dict(type=TEvalEvaluator, subset=_name),
        pred_postprocessor=dict(type=teval_postprocess),
        num_gpus=1,
    )
    for subset in teval_subject_mapping[_name]:
        teval_datasets.append(
            dict(
44
                abbr='teval-' + subset,
45
                type=TEvalDataset,
46
                path='./data/teval/ZH',
47
48
49
50
51
52
                name=subset,
                reader_cfg=teval_reader_cfg,
                infer_cfg=teval_infer_cfg,
                eval_cfg=teval_eval_cfg,
            )
        )