simplex-ai-inc/LiteResearcher-4B
LiteResearcher-4B
<p align="center"> <img src="assets/logo.png" alt="LiteResearcher Logo" width="400"> </p>
<p align="center"> <a href="https://simplex-ai-inc.github.io/LiteResearcher/">๐ Project Page</a> โข <a href="https://github.com/simplex-ai-inc/LiteResearcher">๐ป Code</a> โข <a href="https://arxiv.org/abs/2604.17931">๐ Paper</a> </p>
LiteResearcher-4B is a 4B-parameter deep research agent trained via scalable agentic reinforcement learning. Despite its small size, it matches Claude-4.5-Sonnet on GAIA and outperforms open-source models up to 8ร larger.
Key Results
All with only 4B parameters โ 8โ32ร smaller than comparable models.
Model Details
- Architecture: Qwen3ForCausalLM (Qwen3-4B-Thinking base)
- Parameters: 4B
- Max Context: 262,144 tokens
- Training: Two-stage difficulty-aware curriculum RL with virtual world environment
- Agent Mode: ReAct-style with
searchandvisittools
How It Works
LiteResearcher operates as a ReAct agent that iteratively:
- Thinks about what information is needed
- Searches the web via Google
- Visits webpages to extract evidence
- Answers when sufficient information is gathered
The model uses <think>, <tool_call>, and <answer> tags to structure its reasoning.
Quick Start
With the Inference Framework
git clone https://github.com/simplex-ai-inc/LiteResearcher.git
cd LiteResearcher
pip install -r requirements.txt
# Configure API keys
cp .env.example .env
# Edit .env with your SERPER_KEY_ID and SCRAPEDO_API_KEY
# Start SGLang server
python -m sglang.launch_server \
--model-path simplex-ai-inc/LiteResearcher-4B \
--port 6001 --tp 2
# Run inference
bash scripts/run_all.sh \
--model simplex-ai-inc/LiteResearcher-4B \
--dataset data/example.jsonlDirect Usage with Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "simplex-ai-inc/LiteResearcher-4B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
messages = [
{"role": "system", "content": "You are a deep research assistant..."},
{"role": "user", "content": "Who won the Nobel Prize in Physics in 2024?"}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=4096, temperature=0.6, top_p=0.95)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))Training
LiteResearcher is trained with a three-component framework:
- Co-constructed Training Data & Corpus โ 32M+ webpages, 1M+ domains, covering five atomic search capabilities (direct retrieval, aggregation, enumeration, cross-verification, statistics)
- Stable Local Tool Environment โ Local search engine (BGE-M3 + Milvus) and local browse tool (PostgreSQL) enabling 73.2M tool calls during training at zero marginal cost
- Difficulty-Aware Curriculum RL โ Multi-stage training that progressively increases task difficulty and context length
Benchmark Results
LiteResearcher-4B consistently outperforms open-source models up to 8ร larger and matches or exceeds proprietary systems across eight benchmarks.
Best open-source results in bold. Results with \* use a 64k context window with a memory mechanism.
Citation
@article{li2026literesearcher,
title={LiteResearcher: A Scalable Agentic RL Training Framework for Deep Research Agent},
author={Wanli Li and Bince Qu and Bo Pan and Jianyu Zhang and Zheng Liu and Pan Zhang and Wei Chen and Bo Zhang},
journal={arXiv preprint arXiv:2604.17931},
year={2026}
}License
This model is released under the Apache 2.0 License.
