Repository

MoSciBench

[![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/downloads/) [![Benchmark](https://img.shields.io · License MIT · Install via pip · Maintenance unknown

License
MIT

README

MoSciBench Logo # MoSciBench: Multimodal Scientific Discovery Benchmark [![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/downloads/) [![Benchmark](https://img.shields.io/badge/Benchmark-Multimodal_Science-0A7B83?style=flat-square)](#data-information) [![Framework](https://img.shields.io/badge/Framework-Agentic_Evaluation-1E88E5?style=flat-square)](#repository-layout-brief) [![License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square)](LICENSE)

Quick Start    Download Datasets    Project Structure    Data Overview    Stars    Profile views

A practical benchmark framework for multimodal scientific discovery.

News

  • 2026-03-01: Official benchmark release of MoSciBench. We welcome issues and will maintain an open leaderboard to continuously improve LLM agents for multimodal scientific discovery.
    官方发布 MoSciBench 基准。欢迎大家提交 issues;我们会维护一个开源榜单,致力于持续提升 LLM agents 在多模态科学发现中的能力。

TL;DR

MoSciBench is the first benchmark focused on end-to-end multimodal scientific discovery with LLM agents. Built from peer-reviewed studies via a four-stage pipeline, it spans 6 scientific domains, 7 data modalities, 5 discovery question types, and 88 tasks. Each task requires cross-modal hypothesis verification across heterogeneous data.

Problem Setting

Given a scientific hypothesis and its associated multimodal dataset, the agent must generate executable analysis code, run it on raw data, interpret the resulting numerical outputs, and determine whether the hypothesis is supported or refuted.

Requirements

  • Python 3.9+ (recommended 3.10/3.11)
  • Access to an LLM service (configure in config/config2.yaml)

Install

pip install -r MoSciBench/requirements.txt

Optional extras for file previews:

  • openpyxl for Excel, pyarrow for Parquet

Configure Models

cp MoSciBench/config/config2.example.yaml MoSciBench/config/config2.yaml
# Edit MoSciBench/config/config2.yaml and fill in api_key/base_url/model entries

Tip: You can point to a custom config via env var MOSCI_CONFIG (if supported in your deployment).

Download Datasets

  • List datasets:
    python MoSciBench/scripts/utils/download_data.py --list
  • Download and extract (example):
    python MoSciBench/scripts/utils/download_data.py health_spa
  • Useful flags: --status, --no-extract, --keep-zip, --force

Dataset Access

The datasets are also available for direct download at Google Drive.

Quick Start (Baseline)

  • Single run:
    python MoSciBench/run.py --dataset health_spa --baseline_name ReAct
  • Multiple runs (for statistics):
    python MoSciBench/run.py --dataset health_spa --baseline_name ReAct --num_runs 3

Common flags (selection):

  • --dataset: dataset name (hyphens normalized to underscores)
  • --baseline_name: one of ReAct, DataVoyager, Reflexion, NoDataGuess
  • --optimized_path: output root (default workspace)
  • --initial_round_path: workflows source (default agents)
  • --exec_model_name: model key defined in config2.yaml
  • --include_workflow / --include_domain_knowledge: include extra context in Analysis prompt
  • --analysis_timeout: execution timeout in seconds (default 1800)
  • --max_retries: max code refine retries (default 3)

Outputs

  • Logs: logs/
  • Trajectory: trajectory/<dataset>/baseline_<baseline>_<timestamp>.jsonl
  • Results: workspace/<baseline>/<dataset>/workflows/round_* (configs, CSVs, operator artifacts)

Repository Layout (brief)

  • agents/: baselines and workflow templates (Analysis / CodeGenerate / CodeExecute / CodeRefine)
  • benchmarks/: evaluation base classes and helpers
  • config/: model configs (config2.yaml)
  • data/: dataset root (download/unzip here)
  • scripts/: runtime core (async LLM, logs, trajectory, workspace setup, downloader)
  • workspace/, logs/, trajectory/: generated during runs

Data Information

Name Domain Modalities Task Num Descriptive Correlational Causal Inference Predictive Pattern Discovery
nurse_stress health psychology timeseries (multi sensors), tabular 15 6 4 1 3 1
health_spa biomedical engineering timeseries (multi sensors) 17 4 2 3 6 2
terra earth system science image, tabular, timeseries 14 4 3 2 2 3
massspecgym cheminformatics mass spectra, molecular structures, tabular 15 3 3 3 3 3
pop_genetics population genomics genotype matrix, tabular 13 4 3 0 2 4

License

See MoSciBench/LICENSE.


⭐ Star History

[![Stargazers repo roster for @usail-hkust/MoSciBench](https://reporoster.com/stars/usail-hkust/MoSciBench)](https://github.com/usail-hkust/MoSciBench/stargazers) [![Forkers repo roster for @usail-hkust/MoSciBench](https://reporoster.com/forks/usail-hkust/MoSciBench)](https://github.com/usail-hkust/MoSciBench/network/members) [![Star History Chart](https://api.star-history.com/svg?repos=usail-hkust/MoSciBench&type=Date)](https://star-history.com/#usail-hkust/MoSciBench&Date)

Citation

@inproceedings{liutowards,
  title={Towards Multimodal Data-Driven Scientific Discovery Powered by LLM Agents},
  author={Liu, Fan and Zeng, Xiaozhao and Liu, Hao},
  booktitle={The Fourteenth International Conference on Learning Representations}
}