from mmengine.config import read_base from opencompass.models import ZhiPuAI from opencompass.partitioners import NaivePartitioner from opencompass.runners.local_api import LocalAPIRunner from opencompass.tasks import OpenICLInferTask with read_base(): # from .datasets.collections.chat_medium import datasets from ..summarizers.medium import summarizer from ..datasets.ceval.ceval_gen import ceval_datasets datasets = [ *ceval_datasets, ] # needs a special postprocessor for all # except 'gsm8k' and 'strategyqa' from opencompass.utils import general_eval_wrapper_postprocess for _dataset in datasets: if _dataset['abbr'] not in ['gsm8k', 'strategyqa']: if hasattr(_dataset['eval_cfg'], 'pred_postprocessor'): _dataset['eval_cfg']['pred_postprocessor']['postprocess'] = _dataset['eval_cfg']['pred_postprocessor']['type'] _dataset['eval_cfg']['pred_postprocessor']['type'] = general_eval_wrapper_postprocess else: _dataset['eval_cfg']['pred_postprocessor'] = {'type': general_eval_wrapper_postprocess} models = [ dict( abbr='chatglm_pro', type=ZhiPuAI, path='chatglm_pro', key='xxxxxxxxxxxx', query_per_second=1, max_out_len=2048, max_seq_len=2048, batch_size=8), ] infer = dict( partitioner=dict(type=NaivePartitioner), runner=dict( type=LocalAPIRunner, max_num_workers=2, concurrent_users=2, task=dict(type=OpenICLInferTask)), ) work_dir = "outputs/api_zhipu/"