2023-08-11 12:48:05 +08:00
from opencompass . openicl . icl_prompt_template import PromptTemplate
from opencompass . openicl . icl_retriever import ZeroRetriever , FixKRetriever
from opencompass . openicl . icl_inferencer import GenInferencer
from opencompass . datasets import NaturalQuestionDataset , NQEvaluator
nq_datasets = [ ]
for k in [ 0 , 1 , 5 ] :
nq_reader_cfg = dict (
input_columns = [ ' question ' ] , output_column = ' answer ' , train_split = ' dev ' )
if k == 0 :
nq_infer_cfg = dict (
prompt_template = dict (
type = PromptTemplate ,
template = dict (
round = [
dict ( role = ' HUMAN ' , prompt = ' Answer these questions, your answer should be as simple as possible, start your answer with the prompt \' The answer is \' . \n Q: {question} ? ' ) ,
dict ( role = ' BOT ' , prompt = ' A: ' ) ,
]
)
) ,
retriever = dict ( type = ZeroRetriever ) ,
inferencer = dict ( type = GenInferencer , max_out_len = 50 )
)
else :
nq_infer_cfg = dict (
ice_template = dict (
type = PromptTemplate ,
template = dict (
round = [
dict ( role = ' HUMAN ' , prompt = ' Answer the question, your answer should be as simple as possible, start your answer with the prompt \' The answer is \' . \n Q: {question} ? ' ) ,
dict ( role = ' BOT ' , prompt = ' A: The answer is {answer} . \n ' ) ,
]
) ,
) ,
prompt_template = dict (
type = PromptTemplate ,
template = dict (
2024-05-14 15:35:58 +08:00
begin = ' </E> ' ,
2023-08-11 12:48:05 +08:00
round = [
dict ( role = ' HUMAN ' , prompt = ' Answer the question, your answer should be as simple as possible, start your answer with the prompt \' The answer is \' . \n Q: {question} ? ' ) ,
dict ( role = ' BOT ' , prompt = ' A: ' ) ,
]
) ,
2024-05-14 15:35:58 +08:00
ice_token = ' </E> ' ,
2023-08-11 12:48:05 +08:00
) ,
2023-10-07 12:53:41 +08:00
retriever = dict ( type = FixKRetriever , fix_id_list = list ( range ( k ) ) ) ,
inferencer = dict ( type = GenInferencer , max_out_len = 50 ) ,
2023-08-11 12:48:05 +08:00
)
2024-05-14 15:35:58 +08:00
nq_eval_cfg = dict ( evaluator = dict ( type = NQEvaluator ) , pred_role = ' BOT ' )
2023-08-11 12:48:05 +08:00
nq_datasets . append (
dict (
type = NaturalQuestionDataset ,
abbr = ' nq ' if k == 0 else f ' nq_ { k } shot ' ,
[Feature] Support ModelScope datasets (#1289)
* add ceval, gsm8k modelscope surpport
* update race, mmlu, arc, cmmlu, commonsenseqa, humaneval and unittest
* update bbh, flores, obqa, siqa, storycloze, summedits, winogrande, xsum datasets
* format file
* format file
* update dataset format
* support ms_dataset
* udpate dataset for modelscope support
* merge myl_dev and update test_ms_dataset
* udpate dataset for modelscope support
* update readme
* update eval_api_zhipu_v2
* remove unused code
* add get_data_path function
* update readme
* remove tydiqa japanese subset
* add ceval, gsm8k modelscope surpport
* update race, mmlu, arc, cmmlu, commonsenseqa, humaneval and unittest
* update bbh, flores, obqa, siqa, storycloze, summedits, winogrande, xsum datasets
* format file
* format file
* update dataset format
* support ms_dataset
* udpate dataset for modelscope support
* merge myl_dev and update test_ms_dataset
* update readme
* udpate dataset for modelscope support
* update eval_api_zhipu_v2
* remove unused code
* add get_data_path function
* remove tydiqa japanese subset
* update util
* remove .DS_Store
* fix md format
* move util into package
* update docs/get_started.md
* restore eval_api_zhipu_v2.py, add environment setting
* Update dataset
* Update
* Update
* Update
* Update
---------
Co-authored-by: Yun lin <yunlin@U-Q9X2K4QV-1904.local>
Co-authored-by: Yunnglin <mao.looper@qq.com>
Co-authored-by: Yun lin <yunlin@laptop.local>
Co-authored-by: Yunnglin <maoyl@smail.nju.edu.cn>
Co-authored-by: zhangsongyang <zhangsongyang@pjlab.org.cn>
2024-07-29 13:48:32 +08:00
path = ' opencompass/natural_question ' ,
2023-08-11 12:48:05 +08:00
reader_cfg = nq_reader_cfg ,
infer_cfg = nq_infer_cfg ,
eval_cfg = nq_eval_cfg )
)