2023-08-11 17:38:31 +08:00
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 EMEvaluator , RougeEvaluator , SquadEvaluator
2023-08-25 11:46:23 +08:00
from opencompass . datasets . leval import LEvalGPTEvaluator , LEvalPaperAssistantDataset
2023-08-11 17:38:31 +08:00
LEval_ps_summ_reader_cfg = dict (
2023-08-25 11:46:23 +08:00
input_columns = [ ' context ' , ' question ' , ' length ' ] ,
2023-08-11 17:38:31 +08:00
output_column = ' answer ' ,
train_split = ' test ' ,
test_split = ' test '
)
LEval_ps_summ_infer_cfg = dict (
prompt_template = dict (
type = PromptTemplate ,
template = dict (
2023-08-25 11:46:23 +08:00
begin = [
dict ( role = ' SYSTEM ' , fallback_role = ' HUMAN ' , prompt = ' Now you are given a very long document. Please follow the instruction after this document. These instructions may include summarizing a document, answering questions based on the document, or writing a required paragraph. ' ) ,
] ,
2023-08-11 17:38:31 +08:00
round = [
2023-08-25 11:46:23 +08:00
dict ( role = ' HUMAN ' , prompt = ' Document is as follows. {context} \n Instruction: {question} \n Answer this question with {length} words. ' ) ,
2023-08-11 17:38:31 +08:00
dict ( role = ' BOT ' , prompt = ' ' ) ,
] , ) ) ,
retriever = dict ( type = ZeroRetriever ) ,
inferencer = dict ( type = GenInferencer , max_out_len = 512 )
)
LEval_ps_summ_eval_cfg = dict (
2023-08-25 11:46:23 +08:00
evaluator = dict ( type = LEvalGPTEvaluator ) ,
2023-08-11 17:38:31 +08:00
pred_role = ' BOT '
)
LEval_ps_summ_datasets = [
dict (
type = LEvalPaperAssistantDataset ,
abbr = ' LEval_paper_assistant ' ,
path = ' L4NLP/LEval ' ,
name = ' paper_assistant ' ,
reader_cfg = LEval_ps_summ_reader_cfg ,
infer_cfg = LEval_ps_summ_infer_cfg ,
eval_cfg = LEval_ps_summ_eval_cfg )
]