agentscope-ai/OpenJudge

Dataset

OpenJudge Benchmark Dataset

2

63 commits

2 linked in READMEs

updated Mar 4, 2026

See the code

README

OpenJudge Benchmark Dataset

Benchmark dataset for evaluating graders across text, multimodal, and agent scenarios. This dataset supports the OpenJudge framework with labeled preference pairs for quality-assured grader development.

Dataset Statistics

Evaluation Benchmarks

CategoryTaskFilesSamples
πŸ€– Agent12166
action18
memory347
plan17
reflection352
tool452
πŸ–ΌοΈ Multimodal480
image_coherence120
image_editing120
image_helpfulness120
text_to_image120
πŸ“ Text5130
correctness150
hallucination120
harmlessness120
instruction_following120
relevance120
Eval Total21376

Training Data

CategorySplitSamplesFormat
🎯 Bradley-Terrytrain1,000Parquet
test763Parquet
πŸ“š SFTtrain1,000Parquet
test763Parquet
πŸ”„ GRPO Pointwisetrain2,000Parquet
val1,526Parquet
πŸ”„ GRPO Pairwisetrain1,000Parquet
val763Parquet
Train Total8,815

Dataset Structure

# Evaluation Benchmarks
text/{task_type}/{task_type}_eval_v1.json
multimodal/{task_type}/{task_type}_eval_v1.json  
agent/{task_category}/{task_name}.json

# Training Data
train_rm/bradley_terry/{train,test}.parquet
train_rm/sft/{train,test}.parquet
train_rm/grpo/pointwise/{train,val}.parquet
train_rm/grpo/pairwise/{train,val}.parquet

Data Format

Each JSON file contains an array of evaluation cases:

{
  "id": "unique_identifier",
  "dataset": "source_dataset_name",
  "task_type": "evaluation_task_type",
  "input": {
    "query": "user query or null",
    "context": "additional context or structured data",
    "reference": "ground truth or reference response",
    "media_contents": [],
    "metadata": {}
  },
  "chosen": {
    "response": {
      "content": "preferred response",
      "model": "model_name",
      "model_type": "text|multimodal",
      "metadata": {}
    }
  },
  "rejected": {
    "response": {
      "content": "dis-preferred response",
      "model": "model_name",
      "model_type": "text|multimodal",
      "metadata": {}
    }
  },
  "human_ranking": [0, 1],
  "metadata": {
    "source": "source_information"
  }
}

Key Fields:

  • input: Query, context, reference answer
  • chosen/rejected: Preference pair responses (may be null for agent data)
  • human_ranking: Preference ranking [chosen_idx, rejected_idx]
  • metadata: Task-specific metadata

Notes:

  • Text/Multimodal: Standard preference pairs with chosen and rejected
  • Agent: Context contains trajectory data; either chosen or rejected may be null

Training Data Format

Bradley-Terry (train_rm/bradley_terry/*.parquet):

ColumnDescription
chosenPreferred response
rejectedDis-preferred response

SFT (train_rm/sft/*.parquet):

ColumnDescription
messagesConversation messages for supervised fine-tuning
data_sourceSource dataset identifier
extra_infoAdditional metadata

GRPO Pointwise (train_rm/grpo/pointwise/*.parquet):

ColumnDescription
inputMessage list [{"role": "user", "content": "..."}]
outputResponse with label [{"answer": {..., "label": {"helpfulness": 0-4}}}]
sourceData source (rewardbench2)

GRPO Pairwise (train_rm/grpo/pairwise/*.parquet):

ColumnDescription
inputMessage list [{"role": "user", "content": "..."}]
outputTwo responses with preference label [{"answer": {..., "label": {"preference": "A/B"}}}]
sourceData source (rewardbench2)

Usage

from datasets import load_dataset

# Load entire dataset
dataset = load_dataset("agentscope-ai/OpenJudge")

# Load evaluation benchmarks
text_data = load_dataset("agentscope-ai/OpenJudge", data_files="text/**/*.json")
agent_data = load_dataset("agentscope-ai/OpenJudge", data_files="agent/**/*.json")
multimodal_data = load_dataset("agentscope-ai/OpenJudge", data_files="multimodal/**/*.json")

# Load training data
bt_train = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/bradley_terry/train.parquet")
sft_train = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/sft/train.parquet")

# Load GRPO training data
grpo_pointwise = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/grpo/pointwise/train.parquet")
grpo_pairwise = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/grpo/pairwise/train.parquet")

Task Categories

Text: Correctness, Hallucination, Harmlessness, Instruction Following, Relevance

Multimodal: Image Coherence, Image Editing, Image Helpfulness, Text-to-Image

Agent: Action Alignment, Memory (Accuracy/Retrieval/Preservation), Plan Feasibility, Reflection (Accuracy/Awareness/Understanding), Tool Use (Selection/Parameters/Success)

Reproduce Evaluation Results

Each task directory contains an evaluate_*.py script that allows you to reproduce the accuracy results using the corresponding OpenJudge grader.

Run Single Evaluation

# Set environment variables
export OPENAI_API_KEY=your_api_key
export OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# Run specific grader evaluation
cd text/correctness
python evaluate_correctness.py --model qwen-max

# Run with verbose output
python evaluate_correctness.py --model qwen-max --verbose

Run All Evaluations (Parallel)

Use run_all_evaluations.py to evaluate all graders concurrently:

# Run all evaluations
python run_all_evaluations.py

# Run specific category
python run_all_evaluations.py --category text
python run_all_evaluations.py --category agent

# Custom models and concurrency
python run_all_evaluations.py --text-model qwen-max --agent-model qwen3-max --workers 5

# Save results to JSON
python run_all_evaluations.py --output results.json

Expected Accuracy by Grader

CategoryGraderModelExpected Accuracy
TextCorrectnessGraderqwen-max96-100%
TextHallucinationGraderqwen-plus70-75%
TextHarmfulnessGraderqwen-plus100%
TextInstructionFollowingGraderqwen-max75-80%
TextRelevanceGraderqwen-plus100%
MultimodalImageCoherenceGraderqwen-vl-max75%
MultimodalImageHelpfulnessGraderqwen-vl-max80%
MultimodalTextToImageGraderqwen-vl-max75%
AgentActionAlignmentGraderqwen3-max88%
AgentPlanFeasibilityGraderqwen3-max86%
AgentToolGradersqwen3-max75-95%
AgentMemoryGradersqwen3-max76-100%
AgentReflectionGradersqwen3-max74-100%

License

Apache 2.0

Citation

@software{openjudge2025,
  title  = {OpenJudge: A Unified Framework for Holistic Evaluation and Quality Rewards},
  author = {The OpenJudge Team},
  url    = {https://github.com/modelscope/OpenJudge},
  year   = {2025}
}
agent-evaluation
evaluation
grading
multimodal
preference-learning
reward-modeling

agentscope-ai/OpenJudge

Dataset

OpenJudge Benchmark Dataset

2

63 commits

2 linked in READMEs

updated Mar 4, 2026

See the code

README

OpenJudge Benchmark Dataset

Benchmark dataset for evaluating graders across text, multimodal, and agent scenarios. This dataset supports the OpenJudge framework with labeled preference pairs for quality-assured grader development.

Dataset Statistics

Evaluation Benchmarks

CategoryTaskFilesSamples
πŸ€– Agent12166
action18
memory347
plan17
reflection352
tool452
πŸ–ΌοΈ Multimodal480
image_coherence120
image_editing120
image_helpfulness120
text_to_image120
πŸ“ Text5130
correctness150
hallucination120
harmlessness120
instruction_following120
relevance120
Eval Total21376

Training Data

CategorySplitSamplesFormat
🎯 Bradley-Terrytrain1,000Parquet
test763Parquet
πŸ“š SFTtrain1,000Parquet
test763Parquet
πŸ”„ GRPO Pointwisetrain2,000Parquet
val1,526Parquet
πŸ”„ GRPO Pairwisetrain1,000Parquet
val763Parquet
Train Total8,815

Dataset Structure

# Evaluation Benchmarks
text/{task_type}/{task_type}_eval_v1.json
multimodal/{task_type}/{task_type}_eval_v1.json  
agent/{task_category}/{task_name}.json

# Training Data
train_rm/bradley_terry/{train,test}.parquet
train_rm/sft/{train,test}.parquet
train_rm/grpo/pointwise/{train,val}.parquet
train_rm/grpo/pairwise/{train,val}.parquet

Data Format

Each JSON file contains an array of evaluation cases:

{
  "id": "unique_identifier",
  "dataset": "source_dataset_name",
  "task_type": "evaluation_task_type",
  "input": {
    "query": "user query or null",
    "context": "additional context or structured data",
    "reference": "ground truth or reference response",
    "media_contents": [],
    "metadata": {}
  },
  "chosen": {
    "response": {
      "content": "preferred response",
      "model": "model_name",
      "model_type": "text|multimodal",
      "metadata": {}
    }
  },
  "rejected": {
    "response": {
      "content": "dis-preferred response",
      "model": "model_name",
      "model_type": "text|multimodal",
      "metadata": {}
    }
  },
  "human_ranking": [0, 1],
  "metadata": {
    "source": "source_information"
  }
}

Key Fields:

  • input: Query, context, reference answer
  • chosen/rejected: Preference pair responses (may be null for agent data)
  • human_ranking: Preference ranking [chosen_idx, rejected_idx]
  • metadata: Task-specific metadata

Notes:

  • Text/Multimodal: Standard preference pairs with chosen and rejected
  • Agent: Context contains trajectory data; either chosen or rejected may be null

Training Data Format

Bradley-Terry (train_rm/bradley_terry/*.parquet):

ColumnDescription
chosenPreferred response
rejectedDis-preferred response

SFT (train_rm/sft/*.parquet):

ColumnDescription
messagesConversation messages for supervised fine-tuning
data_sourceSource dataset identifier
extra_infoAdditional metadata

GRPO Pointwise (train_rm/grpo/pointwise/*.parquet):

ColumnDescription
inputMessage list [{"role": "user", "content": "..."}]
outputResponse with label [{"answer": {..., "label": {"helpfulness": 0-4}}}]
sourceData source (rewardbench2)

GRPO Pairwise (train_rm/grpo/pairwise/*.parquet):

ColumnDescription
inputMessage list [{"role": "user", "content": "..."}]
outputTwo responses with preference label [{"answer": {..., "label": {"preference": "A/B"}}}]
sourceData source (rewardbench2)

Usage

from datasets import load_dataset

# Load entire dataset
dataset = load_dataset("agentscope-ai/OpenJudge")

# Load evaluation benchmarks
text_data = load_dataset("agentscope-ai/OpenJudge", data_files="text/**/*.json")
agent_data = load_dataset("agentscope-ai/OpenJudge", data_files="agent/**/*.json")
multimodal_data = load_dataset("agentscope-ai/OpenJudge", data_files="multimodal/**/*.json")

# Load training data
bt_train = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/bradley_terry/train.parquet")
sft_train = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/sft/train.parquet")

# Load GRPO training data
grpo_pointwise = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/grpo/pointwise/train.parquet")
grpo_pairwise = load_dataset("agentscope-ai/OpenJudge", data_files="train_rm/grpo/pairwise/train.parquet")

Task Categories

Text: Correctness, Hallucination, Harmlessness, Instruction Following, Relevance

Multimodal: Image Coherence, Image Editing, Image Helpfulness, Text-to-Image

Agent: Action Alignment, Memory (Accuracy/Retrieval/Preservation), Plan Feasibility, Reflection (Accuracy/Awareness/Understanding), Tool Use (Selection/Parameters/Success)

Reproduce Evaluation Results

Each task directory contains an evaluate_*.py script that allows you to reproduce the accuracy results using the corresponding OpenJudge grader.

Run Single Evaluation

# Set environment variables
export OPENAI_API_KEY=your_api_key
export OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# Run specific grader evaluation
cd text/correctness
python evaluate_correctness.py --model qwen-max

# Run with verbose output
python evaluate_correctness.py --model qwen-max --verbose

Run All Evaluations (Parallel)

Use run_all_evaluations.py to evaluate all graders concurrently:

# Run all evaluations
python run_all_evaluations.py

# Run specific category
python run_all_evaluations.py --category text
python run_all_evaluations.py --category agent

# Custom models and concurrency
python run_all_evaluations.py --text-model qwen-max --agent-model qwen3-max --workers 5

# Save results to JSON
python run_all_evaluations.py --output results.json

Expected Accuracy by Grader

CategoryGraderModelExpected Accuracy
TextCorrectnessGraderqwen-max96-100%
TextHallucinationGraderqwen-plus70-75%
TextHarmfulnessGraderqwen-plus100%
TextInstructionFollowingGraderqwen-max75-80%
TextRelevanceGraderqwen-plus100%
MultimodalImageCoherenceGraderqwen-vl-max75%
MultimodalImageHelpfulnessGraderqwen-vl-max80%
MultimodalTextToImageGraderqwen-vl-max75%
AgentActionAlignmentGraderqwen3-max88%
AgentPlanFeasibilityGraderqwen3-max86%
AgentToolGradersqwen3-max75-95%
AgentMemoryGradersqwen3-max76-100%
AgentReflectionGradersqwen3-max74-100%

License

Apache 2.0

Citation

@software{openjudge2025,
  title  = {OpenJudge: A Unified Framework for Holistic Evaluation and Quality Rewards},
  author = {The OpenJudge Team},
  url    = {https://github.com/modelscope/OpenJudge},
  year   = {2025}
}
agent-evaluation
evaluation
grading
multimodal
preference-learning
reward-modeling