Shortcuts

Dataset Selection and Configuration

An OpenCompass dataset configuration defines data loading, model input construction, and scoring rules together. The same dataset may have multiple configuration variants, and different evaluation protocols may produce different results.

Selecting a Configuration

python tools/list_configs.py mmlu gsm8k  # Find configurations related to MMLU and GSM8K

Dataset configuration files are usually located under opencompass/configs/datasets/<dataset>/. Their filenames commonly include identifiers such as gen, ppl, rawprompt, the number of few-shot examples, and a hash to distinguish evaluation protocols.

Before selecting a configuration, verify the following:

  • data source, version, split, and sample range;

  • input fields, answer field, and any multimodal input;

  • prompt type, number of few-shot examples, and inference method;

  • Evaluator and post-processing rules, including any dependency on a Judge model or an external evaluation service.

Dataset Configuration Structure

A dataset configuration consists of data-loading arguments and three sections: reader_cfg, infer_cfg, and eval_cfg.

datasets = [
    dict(
        type=MyDataset,
        abbr='my-dataset',
        path='data/or/hub-id',
        reader_cfg=reader_cfg,
        infer_cfg=infer_cfg,
        eval_cfg=eval_cfg,
    )
]
  • type: the dataset class registered with OpenCompass. It loads the source data into a Hugging Face Dataset or DatasetDict.

  • abbr: the short name used in task directories and summary results. Use distinguishable abbreviations for different evaluation configurations of the same source data.

  • path: a dataset path or repository identifier. Depending on the dataset class, arguments such as name, split, or task may also be accepted to select a subset.

  • reader_cfg: specifies the fields, data splits, and sample ranges used in evaluation.

  • infer_cfg: specifies prompt construction, few-shot example retrieval, and the inference method.

  • eval_cfg: specifies prediction post-processing and scoring rules.

reader_cfg: Fields and Data Splits

The basic form of reader_cfg is as follows:

reader_cfg = dict(
    input_columns=['question'],
    output_column='answer',
    train_split='train',
    test_split='test',
    train_range=None,
    test_range='[:100]',
)

The fields have the following meanings:

  • input_columns: fields used to construct the model input, such as the question, options, or context.

  • output_column: the field containing the reference answer. Set it to None for tasks that do not require reference answers.

  • train_split and test_split: respectively specify the split from which the Retriever selects few-shot examples and the split on which inference and scoring are performed. Their defaults are train and test. These fields may be omitted when the data has only one split.

  • train_range and test_range: limit the samples selected from the corresponding splits. None uses all samples; an integer selects a fixed number after shuffling; a float between 0 and 1 selects that proportion; and a slice string such as '[:100]' or '[100:200]' selects an interval in the original order. These fields may be omitted for full evaluation.

After completing the configuration, verify that input_columns, output_column, and every placeholder in the prompt exist in the loaded data. To quickly test the first several samples, use test_range='[:N]'.

infer_cfg: Prompt, Retrieval, and Inference

The most common structure for generative evaluation is:

from opencompass.openicl.icl_inferencer import GenInferencer
from opencompass.openicl.icl_raw_prompt_template import RawPromptTemplate
from opencompass.openicl.icl_retriever import ZeroRetriever

infer_cfg = dict(
    prompt_template=dict(
        type=RawPromptTemplate,
        messages=[
            dict(role='user', content='{question}\nPlease provide the answer.'),
        ],
    ),
    retriever=dict(type=ZeroRetriever),
    inferencer=dict(type=GenInferencer),
)

infer_cfg commonly contains the following fields:

  • prompt_template: converts each dataset sample into model input through a prompt template.

  • retriever: determines which few-shot examples are selected from the training split. ZeroRetriever retrieves no examples; FixKRetriever, RandomRetriever, and other Retrievers select examples according to their respective strategies.

  • inferencer: determines the inference method. GenInferencer asks the model to generate an answer directly and accepts inference arguments such as max_out_len and stopping_criteria. A max_out_len explicitly set here takes precedence over the default in the model configuration.

For prompt placeholders, conversation messages, and few-shot insertion, see Prompt Templates. After changing a template, use Prompt Preview and Debugging to inspect the final input.

A common PPL evaluation configuration is:

from opencompass.openicl.icl_inferencer import PPLInferencer
from opencompass.openicl.icl_prompt_template import PromptTemplate
from opencompass.openicl.icl_retriever import ZeroRetriever

infer_cfg = dict(
    prompt_template=dict(
        type=PromptTemplate,
        template={
            'yes': '{question} yes',
            'no': '{question} no',
        },
    ),
    retriever=dict(type=ZeroRetriever),
    inferencer=dict(type=PPLInferencer),
)

The keys of the candidate templates must cover the label values in output_column. Alternatively, candidate labels may be specified explicitly through the labels argument of PPLInferencer. PPL evaluation requires a model backend capable of computing log-likelihoods for its input; not every API model provides this capability.

eval_cfg: Post-processing and Scoring

When model outputs cannot be compared directly with reference answers, each side can be post-processed before scoring. For example:

from opencompass.datasets import (Gsm8kEvaluator,
                                  gsm8k_dataset_postprocess,
                                  gsm8k_postprocess)

eval_cfg = dict(
    evaluator=dict(type=Gsm8kEvaluator),
    pred_postprocessor=dict(type=gsm8k_postprocess),
    dataset_postprocessor=dict(type=gsm8k_dataset_postprocess),
)

The fields serve the following purposes:

  • evaluator: the scorer configuration. type selects the Evaluator, and all remaining fields are passed as initialization arguments. Common scoring methods include accuracy, exact match, mathematical answer verification, code execution, and model-based judging.

  • pred_postprocessor: processes model predictions before scoring, for example by extracting an option letter, a number, or an answer enclosed in a particular tag.

  • dataset_postprocessor: processes reference answers from output_column before scoring so that their format matches the processed predictions.

  • pred_role: extracts content for a specified role from the output of a local chat model. Use it only when the model defines a corresponding meta_template.

An Evaluator type is required by the basic scoring workflow; all other fields are optional.

For data caching and offline behavior, see Data Sources, Caching, and Offline Operation. For the complete dataset extension procedure, see Adding a Dataset.

Dataset Statistics

The following table is generated from dataset-index.yml in the repository root. It lists the datasets registered with OpenCompass, their categories, resource links, and recommended configurations, and supports fuzzy search.

Name

Category

Paper or Repository

Recommended Config

Recommended Config (LLM Judge)

IFEval

Instruction Following

link

link

Inverse IFEval

Instruction Following

link

link(TBD)

NPHardEval

Reasoning

link

link(TBD)

PMMEval

Language

link

link(TBD)

PI-LLM

Memory

link

link(TBD)

TheoremQA

Reasoning

link

link(TBD)

AGIEval

Examination

link

link(TBD)

BABILong

Long Context

link

link(TBD)

AA-LCR

Long Context

link

link(TBD)

link(TBD)

BigCodeBench

Code

link

link

CaLM

Reasoning

link

link(TBD)

InfiniteBench (∞Bench)

Long Context

link

link(TBD)

KOR-Bench

Reasoning

link

link

link

LawBench

Knowledge / Law

link

link(TBD) / link(TBD)

L-Eval

Long Context

link

link(TBD)

LiveCodeBench

Code

link

link

LiveCodeBench Pro

Code

link

link(TBD)

LiveMathBench

Math

link

link(TBD)

LiveReasonBench

Reasoning

link(TBD)

LongBench

Long Context

link

link(TBD) / link(TBD)

LV-Eval

Long Context

link

link(TBD)

Mastermath2024v1

Math

link(TBD)

matbench

Science / Material

link

link(TBD)

MedBench

Knowledge / Medicine

link

link(TBD)

MedCalc_Bench

Knowledge / Medicine

link

link(TBD)

MedQA

Knowledge / Medicine

link

link(TBD)

link(TBD)

MedXpertQA

Knowledge / Medicine

link

link(TBD)

link(TBD)

ClinicBench

Knowledge / Medicine

link

link(TBD)

link(TBD)

ScienceQA

Knowledge / Medicine

link

link(TBD)

link(TBD)

PubMedQA

Knowledge / Medicine

link

link(TBD)

link(TBD)

MuSR

Reasoning

link

link

link

NeedleBench V1 (Deprecated)

Long Context

link

link(TBD)

NeedleBench V2

Long Context

link

link(TBD)

RULER

Long Context

link

link(TBD)

AlignBench

Subjective / Alignment

link

link(TBD)

AlpacaEval

Subjective / Instruction Following

link

link(TBD)

Arena-Hard

Subjective / Chatbot

link

link(TBD)

ELBench

Subjective / Education

link

link(TBD)

FLAMES

Subjective / Alignment

link

link(TBD)

FOFO

Subjective / Format Following

link

link(TBD)

FollowBench

Subjective / Instruction Following

link

link(TBD)

HelloBench

Subjective / Long Context

link

link(TBD)

JudgerBench

Subjective / Long Context

link

link(TBD)

MT-Bench-101

Subjective / Multi-Round

link

link(TBD)

WildBench

Subjective / Real Task

link

link(TBD)

T-Eval

Tool Utilization

link

link(TBD) / link(TBD)

BuySideFinBench

Knowledge / Finance

link

link(TBD)

FinanceIQ

Knowledge / Finance

link

link(TBD)

GAOKAOBench

Examination

link

link(TBD)

LCBench

Code

link

link(TBD)

ArabicMMLU

Language

link

link(TBD)

OpenFinData

Knowledge / Finance

link

link(TBD)

QuALITY

Long Context

link

link(TBD)

Adversarial GLUE

Safety

link

link(TBD) / link(TBD) / link(TBD) / link(TBD) / link(TBD) / link(TBD)

CLUE / AFQMC

Language

link

link(TBD)

AIME2024

Examination

link

link

link

Adversarial NLI

Reasoning

link

link(TBD)

Anthropics Evals

Safety

link

link(TBD) / link(TBD) / link(TBD)

APPS

Code

link

link(TBD) / link(TBD)

ARC

Reasoning

link

link(TBD) / link(TBD)

ARC Prize

ARC-AGI

link

link(TBD)

ArxivRollBench

Reasoning / Robustness

link

link(TBD)

SuperGLUE / AX

Reasoning

link

link(TBD) / link(TBD)

BIG-Bench Hard

Reasoning

link

link

link

BIG-Bench Extra Hard

Reasoning

link

link(TBD)

SuperGLUE / BoolQ

Knowledge

link

link(TBD)

CLUE / C3 (C³)

Understanding

link

link(TBD)

CARDBiomedBench

Knowledge / Medicine

link

link(TBD)

link(TBD)

SuperGLUE / CB

Reasoning

link

link(TBD)

C-EVAL

Examination

link

link(TBD)

CHARM

Reasoning

link

link(TBD)

ChemBench

Knowledge / Chemistry

link

link(TBD)

FewCLUE / CHID

Language

link

link(TBD)

Chinese SimpleQA

Knowledge

link

link(TBD)

CIBench

Code

link

link(TBD) / link(TBD) / link(TBD)

CivilComments

Safety

link

link(TBD)

Cloze Test-max/min

Code

link

link(TBD)

FewCLUE / CLUEWSC

Language / WSC

link

link(TBD)

CMB

Knowledge / Medicine

link

link(TBD)

CMMLU

Understanding

link

link

link

CLUE / CMNLI

Reasoning

link

link(TBD)

cmo_fib

Examination

link(TBD)

CLUE / CMRC

Understanding

link

link(TBD)

CommonSenseQA

Knowledge

link

link(TBD)

CommonSenseQA-CN

Knowledge

link(TBD)

SuperGLUE / COPA

Reasoning

link

link(TBD)

CrowsPairs

Safety

link

link(TBD)

CrowsPairs-CN

Safety

link(TBD)

CVALUES

Safety

link

link(TBD)

CLUE / DRCD

Understanding

link

link(TBD)

DROP (DROP Simple Eval)

Understanding

link

link

link

DS-1000

Code

link

link(TBD)

FewCLUE / EPRSTMT

Understanding

link

link(TBD)

Flores

Language

link

link(TBD)

Game24

Math

link

link(TBD)

Government Report Dataset

Long Context

link

link(TBD)

GPQA

Knowledge

link

link

link

GSM8K

Math

link

link(TBD)

GSM-Hard

Math

link

link(TBD)

HLE(Humanity’s Last Exam)

Reasoning

link

link(TBD)

HellaSwag

Reasoning

link

link

link

HumanEval

Code

link

link

HumanEval-CN

Code

link(TBD)

Multi-HumanEval

Code

link

link(TBD)

HumanEval+

Code

link

link(TBD)

HumanEval-X

Code

link

link(TBD)

HumanEval Pro

Code

link

link(TBD)

Hungarian_Math

Math

link

link(TBD)

IWSLT2017

Language

link

link(TBD)

JigsawMultilingual

Safety

link

link(TBD)

LAMBADA

Understanding

link

link(TBD)

LCSTS

Understanding

link

link(TBD)

LiveStemBench

link(TBD)

LLM Compression

Bits Per Character (BPC)

link

link(TBD)

MATH

Math

link

link

link

MATH500

Math

link

link

link

MATH 401

Math

link

link(TBD)

MathBench

Math

link

link(TBD)

MBPP

Code

link

link(TBD)

MBPP-CN

Code

link(TBD)

MBPP-PLUS

Code

link(TBD)

MBPP Pro

Code

link

link(TBD)

MGSM

Language / Math

link

link(TBD)

MMLU

Understanding

link

link

link

SciEval

Understanding

link

link(TBD)

link(TBD)

MMLU-CF

Understanding

link

link(TBD)

MMLU-Pro

Understanding

link

link

link

MMMLU

Language / Understanding

link

link(TBD) / link(TBD)

SuperGLUE / MultiRC

Understanding

link

link(TBD)

MultiPL-E

Code

link

link(TBD)

NarrativeQA

Understanding

link

link(TBD)

NaturalQuestions

Knowledge

link

link(TBD)

NaturalQuestions-CN

Knowledge

link(TBD)

OpenBookQA

Knowledge

link

link(TBD)

OlymMATH

Math

link

link(TBD)

link(TBD)

OpenBookQA

Knowledge / Physics

link

link(TBD)

ProteinLMBench

Knowledge / Biology (Protein)

link

link(TBD)

link(TBD)

py150

Code

link

link(TBD)

Qasper

Long Context

link

link(TBD)

Qasper-Cut

Long Context

link(TBD)

RACE

Examination

link

link(TBD)

R-Bench

Reasoning

link

link(TBD)

link(TBD)

RealToxicPrompts

Safety

link

link(TBD)

SuperGLUE / ReCoRD

Understanding

link

link(TBD)

SuperGLUE / RTE

Reasoning

link

link(TBD)

CLUE / OCNLI

Reasoning

link

link(TBD)

FewCLUE / OCNLI-FC

Reasoning

link

link(TBD)

RoleBench

Role Play

link

link(TBD)

S3Eval

Long Context

link

link(TBD)

SciBench

Reasoning

link

link(TBD)

SciCode

Code

link

link(TBD)

SeedBench

Knowledge

link

link(TBD)

SimpleQA

Knowledge

link

link(TBD)

SocialIQA

Reasoning

link

link(TBD)

SQuAD2.0

Understanding

link

link(TBD)

StoryCloze

Reasoning

link

link(TBD)

StrategyQA

Reasoning

link

link(TBD)

SummEdits

Language

link

link(TBD)

SummScreen

Understanding

link

link(TBD)

SVAMP

Math

link

link(TBD)

TabMWP

Math / Table

link

link(TBD)

TACO

Code

link

link(TBD)

FewCLUE / TNEWS

Understanding

link

link(TBD)

FewCLUE / BUSTM

Reasoning

link

link(TBD)

FewCLUE / CSL

Understanding

link

link(TBD)

FewCLUE / OCNLI-FC

Reasoning

link

link(TBD)

TriviaQA

Knowledge

link

link(TBD)

TriviaQA-RC

Knowledge / Understanding

link(TBD)

TruthfulQA

Safety

link

link(TBD)

TyDi-QA

Language

link

link(TBD)

SuperGLUE / WiC

Language

link

link(TBD)

SuperGLUE / WSC

Language / WSC

link

link(TBD)

WinoGrande

Language / WSC

link

link(TBD)

XCOPA

Language

link

link(TBD)

Xiezhi

Knowledge

link

link(TBD)

XLSum

Understanding

link

link(TBD)

Xsum

Understanding

link

link(TBD)

GLUE / CoLA

Understanding

link

link(TBD)

GLUE / MPRC

Understanding

link

link(TBD)

GLUE / QQP

Understanding

link

link(TBD)

Omni-MATH

Math

link

link(TBD)

WikiBench

Knowledge

link(TBD)

SuperGPQA

Knowledge

link

link(TBD)

ClimaQA

Science

link

link(TBD)

link(TBD) / link(TBD)

PHYSICS

Science

link

link(TBD)

link(TBD)

SmolInstruct

Science /Chemistry

link

link(TBD)

SciKnowEval

Science

link

link(TBD)

link(TBD)

InternSandbox

Reasoning/Code/Agent

link(TBD)

nejmaibench

Science /Medicine

link

link(TBD)

link(TBD)

Medbullets

Science /Medicine

link

link(TBD)

link(TBD)

medmcqa

Science /Medicine

link

link(TBD)

link(TBD)

PHYBench

Science /Physics

link

link(TBD)

BeyondAIME

Math

link

link(TBD)

EESE

Science

link

link(TBD)

link(TBD)

CL-bench

Long Context

link

link(TBD)

link(TBD) / link(TBD)

CMPhysBench

Science /Physics

link

link(TBD)

Earth-Silver

Science

link

link(TBD)

link(TBD)

HealthBench

Knowledge / Medicine

link

link(TBD)

IFBench

Instruction Following

link

link(TBD)

Mol-Instructions (Chem)

Knowledge / Chemistry

link

link(TBD)

OlympiadBench

Math

link

link(TBD)

link(TBD)

ProcessBench

Math

link

link(TBD)

SciReasoner

Science

link

link(TBD)

SciReasoner1.5

Science

link

link(TBD)

AdvancedIF

Instruction Following

link

link(TBD)

link(TBD)

AIME2025

Math

link

link(TBD)

link(TBD)

AIME2026

Math

link

link(TBD)

ATLAS

Science

link

link(TBD)

CodeCompass

Code

link

link(TBD)

JudgeBench

Subjective / Alignment

link

link(TBD)

JudgerBenchV2

Subjective / Alignment

link

link(TBD)

RewardBench

Subjective / Alignment

link

link(TBD)

RMB

Subjective / Alignment

link

link(TBD)

MolecularIQ

Science /Chemistry

link

link(TBD)

MP-20

Science / Material

link

link(TBD)

MRCR

Long Context

link

link(TBD)

OJBench

Code

link

link(TBD)

OpenSWI

Science

link

link(TBD)

PerspectiveGap

Reasoning/Code/Agent

link

link(TBD) / link(TBD)

PromptBench

Safety

link

link(TBD)

S2-TOMG-Bench

Science /Chemistry

link

link(TBD)

SRBench

Science

link

link(TBD)

WikiText

Language

link

link(TBD)

Winograd Schema Challenge

Language / WSC

link

link(TBD)

WritingBench

Subjective / Writing

link

link(TBD)

link(TBD)

Biology Instructions

Knowledge / Biology

link

link(TBD)

DINGO

Instruction Following

link

link(TBD)

HMMT2026

Math

link

link(TBD)

ZebraLogic

Reasoning

link

link(TBD)

@沪ICP备2021009351号-23 OpenCompass Open Platform Service Agreement