mirror of
https://github.com/open-compass/opencompass.git
synced 2025-05-30 16:03:24 +08:00

* Add MedXpertQA * Add MedXpertQA * Add MedXpertQA * Fix lint --------- Co-authored-by: MaiziXiao <xxllcc1993@gmail.com>
58 lines
1.5 KiB
Python
58 lines
1.5 KiB
Python
from opencompass.datasets import MedXpertQADataset, MedXpertQAEvaluator
|
|
from opencompass.openicl.icl_inferencer import GenInferencer
|
|
from opencompass.openicl.icl_prompt_template import PromptTemplate
|
|
from opencompass.openicl.icl_retriever import ZeroRetriever
|
|
|
|
SYSTEM_PROMPT = 'You are a helpful medical assistant.\n\n' # Where to put this?
|
|
ZERO_SHOT_PROMPT = 'Q: {question}\nA: Among {start} through {end}, the answer is'
|
|
|
|
# Reader configuration
|
|
reader_cfg = dict(
|
|
input_columns=[
|
|
'question',
|
|
'options',
|
|
'medical_task',
|
|
'body_system',
|
|
'question_type',
|
|
'prompt_mode',
|
|
],
|
|
output_column='label',
|
|
)
|
|
|
|
# Inference configuration
|
|
infer_cfg = dict(
|
|
prompt_template=dict(
|
|
type=PromptTemplate,
|
|
template=dict(
|
|
begin=[
|
|
dict(role='SYSTEM', fallback_role='HUMAN', prompt=SYSTEM_PROMPT),
|
|
],
|
|
round=[
|
|
dict(
|
|
role='HUMAN',
|
|
prompt=ZERO_SHOT_PROMPT, # prompt mode: zero-shot
|
|
),
|
|
],
|
|
),
|
|
),
|
|
retriever=dict(type=ZeroRetriever),
|
|
inferencer=dict(type=GenInferencer),
|
|
)
|
|
|
|
# Evaluation configuration
|
|
eval_cfg = dict(
|
|
evaluator=dict(type=MedXpertQAEvaluator),
|
|
pred_role='BOT',
|
|
)
|
|
medxpertqa_dataset = dict(
|
|
type=MedXpertQADataset,
|
|
abbr='medxpertqa',
|
|
path='TsinghuaC3I/MedXpertQA',
|
|
prompt_mode='zero-shot',
|
|
reader_cfg=reader_cfg,
|
|
infer_cfg=infer_cfg,
|
|
eval_cfg=eval_cfg,
|
|
)
|
|
|
|
medxpertqa_datasets = [medxpertqa_dataset]
|