Data
April 21, 2026 ยท View on GitHub
This page is the source of truth for dataset files, downloader behavior, split policy, and reporting caveats. Legal/provenance notices for the git-tracked fixtures live in ../DATASET_NOTICES.md.
Expected Files
Evaluation expects JSONL files under data/datasets/:
data/datasets/<dataset_lowercase>_validate.jsonl
data/datasets/<dataset_lowercase>_test.jsonl
Examples:
data/datasets/math_validate.jsonl
data/datasets/math_test.jsonl
data/datasets/musiqueans_validate.jsonl
data/datasets/musiqueans_test.jsonl
Dataset path resolution is centralized in src/catalog/datasets.py.
Naming Notes
- CLI dataset names come directly from
src/catalog/datasets.py. - The CLI key is
MusiqueAns; this document also uses the upstream benchmark spellingMuSiQue-Answhen discussing source data and reporting caveats. MATHDEMOis a repository-local alias ofMATH; it reuses the samemath_*.jsonlfiles and only changes the tracked demo workspace underworkspace/MATHDEMO/.
Provisioning Model
The repository uses two dataset paths:
- Small benchmark files are tracked directly in git under
data/datasets/. - Large benchmark files are downloaded from Hugging Face and converted into the repository JSONL format by
data/download.py.
.gitignore mirrors this policy by ignoring data/datasets/* by default and only allowlisting the git-managed fixtures listed below.
Git-Managed Benchmark Assets
These files are expected to be committed and reviewed in git. They are repository-local experiment fixtures inherited from the earlier AFlow evaluation setup, kept for fair comparison with prior AFlow-style experiments. They are not the full original upstream datasets, and the selection/splitting rules were not newly defined by AgentSlimming. See ../DATASET_NOTICES.md for dataset-specific provenance and license notices.
DROP:drop_validate.jsonl,drop_test.jsonlGSM8K:gsm8k_validate.jsonl,gsm8k_test.jsonlHotpotQA:hotpotqa_validate.jsonl,hotpotqa_test.jsonlMATH:math_validate.jsonl,math_test.jsonlMATHDEMO: reuses theMATHfiles above; it does not introduce separate dataset JSONL filesHumanEval:humaneval_validate.jsonl,humaneval_test.jsonl,humaneval_public_test.jsonlMBPP:mbpp_validate.jsonl,mbpp_test.jsonl,mbpp_public_test.jsonl
Downloaded Benchmark Assets
These files are materialized locally by python -m data.download and should stay out of git:
AIME:aime_validate.jsonl,aime_test.jsonlLiveCode:livecode_validate.jsonl,livecode_test.jsonlMusiqueAns(MuSiQue-Ans):musiqueans_validate.jsonl,musiqueans_test.jsonl
Currently, the downloader only handles:
AIMELiveCodeMusiqueAns
Run it from the repository root:
python -m data.download
Downloader behavior:
- Skips a dataset when both target JSONL files already exist.
- Uses a temporary cache under
data/datasets/_tmp_download/. - Respects
HF_TOKENfor authenticated Hugging Face access.
If you add a new benchmark fixture, update both this document and .gitignore in the same change so the publication policy stays explicit.
Large-Dataset Split Policy
AIME: derivesvalidate/testfrom the downloaded full corpus with a deterministic split. This is a repository-local split, not an official benchmark split.LiveCode: derivesvalidate/testfrom the published release test files with a deterministic split. This is a repository-local split, not the official LiveCodeBench reporting protocol. The derived rows retainpublic_test_casesandprivate_test_caseswhen the source provides them, but evaluation uses public tests by default. SetAGENT_SLIMMING_LIVECODE_USE_PRIVATE_TESTS=1only for local/internal workflows that intentionally switch to private tests, not for public reporting.MusiqueAns(MuSiQue-Ans): downloads the available train/dev/test JSONL files from Hugging Face, converts them into the repository format, and derivesvalidate/testwith a deterministic split over the downloaded rows.
If you need a different split policy, edit data/download.py or prepare the target JSONL files manually.
Relevant Environment Variables
HF_TOKEN: optional Hugging Face token used bypython -m data.downloadwhen authenticated dataset access is needed.AGENT_SLIMMING_LIVECODE_USE_PRIVATE_TESTS=1: when a LiveCode row contains bothpublic_test_casesandprivate_test_cases, evaluation uses the private tests instead of the public tests. The default is unset/off, which keeps evaluation on public tests. Do not enable this for public reporting or leaderboard-style comparisons.
Public Reporting Guidance
The following integrations are convenient local experiment paths. They should not be presented as official benchmark-compatible results unless you rerun the official evaluation pipeline for the underlying benchmark.
AIME: the Hugging Face source used here is a single corpus, not an official train/dev/test benchmark split. This repository derives deterministic repository-localvalidate/testfiles from that corpus.MusiqueAns(MuSiQue-Ans): the official benchmark already ships train/dev/test splits and an official evaluation script. This repository currently downloads those files, converts them into the local schema, and then derives repository-localvalidate/testfiles for the optimizer pipeline. Numbers from this path are not directly comparable to official MuSiQue reports or leaderboard submissions.LiveCode: official LiveCodeBench reporting uses benchmark releases, release-date windows, andpass@1/pass@5metrics. This repository instead derives repository-localvalidate/testfiles from released data and evaluates persisted public tests by default. These results are not directly comparable to the official LiveCodeBench leaderboard.
If you publish numbers produced by this repository:
- explicitly label repository-local splits or repository-local protocols;
- do not compare
AIME,MusiqueAns/MuSiQue-Ans, orLiveCodenumbers here against official papers or leaderboards without rerunning the official benchmark setup; - cite the upstream benchmark sources and explain any protocol differences.
Official references used to verify the guidance above:
AIMEsource corpus used here: https://huggingface.co/datasets/gneubig/aime-1983-2024MuSiQue: paper https://doi.org/10.1162/tacl_a_00475, official repo https://github.com/stonybrooknlp/musiqueLiveCodeBench: official repo https://github.com/LiveCodeBench/LiveCodeBench, leaderboard https://livecodebench.github.io/leaderboard.html
Adding A Benchmark
To add a new dataset integration, keep the benchmark implementation, dataset catalog, and publication policy in sync:
- Implement a benchmark class under
benchmarks/by subclassingBaseBenchmark. - Set
REQUIRED_FIELDSand implementevaluate_problem(),calculate_score(), andget_result_columns(). - Override
load_data()only when the raw dataset schema needs adaptation before evaluation. - Register the dataset in
src/catalog/datasets.pywith its file stem, question type, operators, and benchmark module/class. - Add the dataset files or downloader logic under
data/, then update this document and.gitignorein the same change. - Add or update tests for any publication-policy, split-policy, or benchmark-specific behavior.
Use benchmarks/drop.py as the simplest reference for a standard JSONL-backed
benchmark class. Use benchmarks/livecode.py as the reference when a benchmark
needs custom load_data() logic or schema conversion before evaluation.