Companion training data for the LiteResearcher paper A low-cost, scalable Agentic RL training framework for deep-research agents.
This dataset contains the two-stage curriculum of question–answer prompts used to train LiteResearcher-4B with on-policy GRPO+TIS, fully against a local search / browse environment. Both stages share the same validation set.
What this is not: the underlying webpage corpus (~32 M records, used by the local search/browse environment) lives in
simplex-ai-inc/LiteResearcher-Corpus. This repo is just the task prompts + ground-truth answers that drive the RL rollouts.
| Config | Split | Rows | File | Size |
|---|---|---|---|---|
stage1 | train | 10,398 | stage1/train.parquet | 6.8 MB |
stage2 | train | 16,199 | stage2/train.parquet | 12 MB |
No validation split is bundled. The Wikipedia QA monitoring set we used internally is not a meaningful benchmark on its own. For real evaluation use the standard deep-research benchmarks (GAIA, Xbench-DS, Frames, BrowseComp, HLE, Seal-0, WebwalkerQA) via the
Inference/harness. For a quick sanity loss you can pointdata.val_filesat a 100–500-row slice ofstage1/train.parquet.
The two stages implement the difficulty-aware curriculum RL described in §4 of the paper:
extra_info.mask_url
so the model has to find it through search + browse tool calls).data_source = stage2_rag_only) — keeps the
signal-to-noise ratio high while the agent learns the tool-use loop.rag_direct / rag_direct_wiki / rag_mqa / rag_mqa_subgraph{5,6,7} /
rag_science) crossed with 4 length buckets
(lt16k / 16k-32k / 32k-48k / 48k-64k).pass@8 from the Stage-1 checkpoint to keep
only problems that are learnably hard (excludes trivial pass and impossible).data_source (top 8 by count) | Rows | What it is |
|---|---|---|
rag_direct_1-7_lt16k | 4,342 | Single-hop, short context |
rag_direct_wiki_1-7_lt16k | 4,229 | Wikipedia single-hop, short context |
rag_direct_wiki_1-7_16k-32k | 1,448 | Wikipedia single-hop, medium context |
rag_science_1-7_lt16k | 1,313 | Bio / chem / math, short context |
rag_mqa_subgraph6_1-7_lt16k | 902 | Multi-hop over 6-node subgraphs |
rag_direct_1-7_16k-32k | 863 | Single-hop, medium context |
rag_mqa_subgraph5_1-7_lt16k | 601 | Multi-hop over 5-node subgraphs |
rag_mqa_1-7_16k-32k | 442 | Multi-hop, medium context |
| … (17 more) | 2,059 | Long-context (32 K–64 K) and rarer types |
Each row is a verl-compatible prompt with these fields:
| Column | Type | Description |
|---|---|---|
question | string | The user-facing task (English or Chinese). |
data_source | string | Bucket identifier (e.g. rag_direct_1-7_lt16k) — controls curriculum sampling and per-source reward analysis. |
prompt | list[{role, content}] | Chat-format prompt fed to the policy on rollout start. |
ability | string | Coarse task category. All rows are "search" in this release. |
reward_model | struct | {ground_truth: {target: [...gold strings]}, style: "llm"} — fed to the async LLM-Judge reward function. |
extra_info | struct | Per-sample metadata: index, mask_url (the gold URL to hide from the agent), need_tools_kwargs, split, plus tools_kwargs carrying the browse / search tool-construction args. |
metadata | null | Reserved for downstream use. |
The validation split has one extra url field at the top of extra_info — it
is also a gold reference URL, kept for backward compatibility with our eval
harness.
from datasets import load_dataset
# Stage-1 warmup
stage1 = load_dataset("simplex-ai-inc/LiteResearcher-Data", "stage1")
print(stage1) # DatasetDict: train (10398)
print(stage1["train"][0]) # one example
# Stage-2 curriculum (default config)
stage2 = load_dataset("simplex-ai-inc/LiteResearcher-Data", "stage2")
Both stages are drop-in for the launchers shipped in
simplex-ai-inc/LiteResearcher
under Training/:
# Download once
hf download simplex-ai-inc/LiteResearcher-Data --repo-type dataset --local-dir ./literesearcher_data
# Stage 1 (single node, 8 × H20)
export TRAIN_DATA=./literesearcher_data/stage1/train.parquet
# Use a slice of train for sanity validation, or supply your own eval parquet:
export VAL_DATA=./literesearcher_data/stage1/train.parquet
bash Training/examples/sglang_multiturn/search_browser/stage1_rag_only.sh
# Stage 2 (2 nodes × 8 H20, resumed from Stage-1 step ~220)
export TRAIN_DATA=./literesearcher_data/stage2/train.parquet
export VAL_DATA=./literesearcher_data/stage2/train.parquet
bash Training/examples/sglang_multiturn/search_browser/stage_2_mix_rag_on_policy_48k.sh
pass@8; only items with a non-trivial,
non-saturated pass-rate enter the Stage-2 mix. Items are also bucketed by
the realised rollout context length (lt16k / 16k-32k / 32k-48k /
48k-64k) so the curriculum can up-weight harder lengths over time.extra_info.mask_url; the rollout environment removes this URL from search
results so the model cannot one-shot the answer by re-finding the source.See §3 ("Co-construct Training Data & Corpus") and §4 ("Difficulty-Aware Curriculum RL") of the paper for details.
The dataset is mostly English with a meaningful Chinese subset (especially in the multi-hop / institutional-knowledge buckets of Stage 2). All ground-truth answers are short factual strings; questions can be either language.
Released under Apache-2.0, matching the code release.
validation split here (which is single-hop Wikipedia and is only used to
monitor training progress).simplex-ai-inc/LiteResearcher-Corpus
and Environment/
in the code repo to reproduce.@article{li2026literesearcher,
title = {LiteResearcher: A Scalable Agentic RL Training Framework for Deep Research Agent},
author = {Li, Wanli and Qu, Bince and Pan, Bo and Zhang, Jianyu and Liu, Zheng and Zhang, Pan and Chen, Wei and Zhang, Bo},
journal = {arXiv preprint arXiv:2604.17931},
year = {2026}
}
Companion training data for the LiteResearcher paper A low-cost, scalable Agentic RL training framework for deep-research agents.
This dataset contains the two-stage curriculum of question–answer prompts used to train LiteResearcher-4B with on-policy GRPO+TIS, fully against a local search / browse environment. Both stages share the same validation set.
What this is not: the underlying webpage corpus (~32 M records, used by the local search/browse environment) lives in
simplex-ai-inc/LiteResearcher-Corpus. This repo is just the task prompts + ground-truth answers that drive the RL rollouts.
| Config | Split | Rows | File | Size |
|---|---|---|---|---|
stage1 | train | 10,398 | stage1/train.parquet | 6.8 MB |
stage2 | train | 16,199 | stage2/train.parquet | 12 MB |
No validation split is bundled. The Wikipedia QA monitoring set we used internally is not a meaningful benchmark on its own. For real evaluation use the standard deep-research benchmarks (GAIA, Xbench-DS, Frames, BrowseComp, HLE, Seal-0, WebwalkerQA) via the
Inference/harness. For a quick sanity loss you can pointdata.val_filesat a 100–500-row slice ofstage1/train.parquet.
The two stages implement the difficulty-aware curriculum RL described in §4 of the paper:
extra_info.mask_url
so the model has to find it through search + browse tool calls).data_source = stage2_rag_only) — keeps the
signal-to-noise ratio high while the agent learns the tool-use loop.rag_direct / rag_direct_wiki / rag_mqa / rag_mqa_subgraph{5,6,7} /
rag_science) crossed with 4 length buckets
(lt16k / 16k-32k / 32k-48k / 48k-64k).pass@8 from the Stage-1 checkpoint to keep
only problems that are learnably hard (excludes trivial pass and impossible).data_source (top 8 by count) | Rows | What it is |
|---|---|---|
rag_direct_1-7_lt16k | 4,342 | Single-hop, short context |
rag_direct_wiki_1-7_lt16k | 4,229 | Wikipedia single-hop, short context |
rag_direct_wiki_1-7_16k-32k | 1,448 | Wikipedia single-hop, medium context |
rag_science_1-7_lt16k | 1,313 | Bio / chem / math, short context |
rag_mqa_subgraph6_1-7_lt16k | 902 | Multi-hop over 6-node subgraphs |
rag_direct_1-7_16k-32k | 863 | Single-hop, medium context |
rag_mqa_subgraph5_1-7_lt16k | 601 | Multi-hop over 5-node subgraphs |
rag_mqa_1-7_16k-32k | 442 | Multi-hop, medium context |
| … (17 more) | 2,059 | Long-context (32 K–64 K) and rarer types |
Each row is a verl-compatible prompt with these fields:
| Column | Type | Description |
|---|---|---|
question | string | The user-facing task (English or Chinese). |
data_source | string | Bucket identifier (e.g. rag_direct_1-7_lt16k) — controls curriculum sampling and per-source reward analysis. |
prompt | list[{role, content}] | Chat-format prompt fed to the policy on rollout start. |
ability | string | Coarse task category. All rows are "search" in this release. |
reward_model | struct | {ground_truth: {target: [...gold strings]}, style: "llm"} — fed to the async LLM-Judge reward function. |
extra_info | struct | Per-sample metadata: index, mask_url (the gold URL to hide from the agent), need_tools_kwargs, split, plus tools_kwargs carrying the browse / search tool-construction args. |
metadata | null | Reserved for downstream use. |
The validation split has one extra url field at the top of extra_info — it
is also a gold reference URL, kept for backward compatibility with our eval
harness.
from datasets import load_dataset
# Stage-1 warmup
stage1 = load_dataset("simplex-ai-inc/LiteResearcher-Data", "stage1")
print(stage1) # DatasetDict: train (10398)
print(stage1["train"][0]) # one example
# Stage-2 curriculum (default config)
stage2 = load_dataset("simplex-ai-inc/LiteResearcher-Data", "stage2")
Both stages are drop-in for the launchers shipped in
simplex-ai-inc/LiteResearcher
under Training/:
# Download once
hf download simplex-ai-inc/LiteResearcher-Data --repo-type dataset --local-dir ./literesearcher_data
# Stage 1 (single node, 8 × H20)
export TRAIN_DATA=./literesearcher_data/stage1/train.parquet
# Use a slice of train for sanity validation, or supply your own eval parquet:
export VAL_DATA=./literesearcher_data/stage1/train.parquet
bash Training/examples/sglang_multiturn/search_browser/stage1_rag_only.sh
# Stage 2 (2 nodes × 8 H20, resumed from Stage-1 step ~220)
export TRAIN_DATA=./literesearcher_data/stage2/train.parquet
export VAL_DATA=./literesearcher_data/stage2/train.parquet
bash Training/examples/sglang_multiturn/search_browser/stage_2_mix_rag_on_policy_48k.sh
pass@8; only items with a non-trivial,
non-saturated pass-rate enter the Stage-2 mix. Items are also bucketed by
the realised rollout context length (lt16k / 16k-32k / 32k-48k /
48k-64k) so the curriculum can up-weight harder lengths over time.extra_info.mask_url; the rollout environment removes this URL from search
results so the model cannot one-shot the answer by re-finding the source.See §3 ("Co-construct Training Data & Corpus") and §4 ("Difficulty-Aware Curriculum RL") of the paper for details.
The dataset is mostly English with a meaningful Chinese subset (especially in the multi-hop / institutional-knowledge buckets of Stage 2). All ground-truth answers are short factual strings; questions can be either language.
Released under Apache-2.0, matching the code release.
validation split here (which is single-hop Wikipedia and is only used to
monitor training progress).simplex-ai-inc/LiteResearcher-Corpus
and Environment/
in the code repo to reproduce.@article{li2026literesearcher,
title = {LiteResearcher: A Scalable Agentic RL Training Framework for Deep Research Agent},
author = {Li, Wanli and Qu, Bince and Pan, Bo and Zhang, Jianyu and Liu, Zheng and Zhang, Pan and Chen, Wei and Zhang, Bo},
journal = {arXiv preprint arXiv:2604.17931},
year = {2026}
}