Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Building Open LLM Web Agents with Self-Evolving Online Curriculum RL
| Date | Stars |
|---|---|
| 2026-07-31 | 537 |
| 2026-08-03 | 537 |
| 2026-08-06 | 537 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
# WebRL: Training LLM Web Agents via Self-Evolving Online Curriculum Reinforcement Learning
</div>

*Technique adopted in [AutoGLM](https://xiao9905.github.io/AutoGLM/), a series of Phone Use and Web Browser Use Foundation Agents*
<p align="center">
📃 <a href="https://arxiv.org/abs/2411.02337" target="_blank"> Paper </a> | 🤗 <a href="https://huggingface.co/THUDM/webrl-glm-4-9b" target="_blank"> WebRL-GLM-4-9B </a> | <a href="https://huggingface.co/THUDM/webrl-llama-3.1-8b" target="_blank"> WebRL-LLaMA-3.1-8B </a> | <a href="https://www.modelscope.cn/collections/WebRL-77a3e54a2dde4b" target="_blank"> ModelScope </a>
</p>
***
WebRL, a self-evolving online curriculum learning framework designed for training web agents, targeting the WebArena environment.
## 🚀 Quick Start
### Dependencies
First, create a conda environment and install all pip package requirements.
```bash
conda create -n webrl python==3.10
conda activate webrl
cd WebRL
pip install -e .
```
### Model checkpoints
#### Actor checkpoints
The WebRL-GLM-4-9B checkpoint was released here and we use it:
- [WebRL-GLM-4-9B checkpoint](https://huggingface.co/THUDM/webrl-glm-4-9b)
- [WebRL-Llama-3.1-8B checkpoint](https://huggingface.co/THUDM/webrl-llama-3.1-8b)
- [WebRL-Llama-3.1-70B checkpoint](https://huggingface.co/THUDM/webrl-llama-3.1-70b)
#### ORM checkpoint
The checkpoint for Outcome-supervised Reward Model (ORM) is as follow:
- [ORM-Llama-3.1-8B checkpoint](https://huggingface.co/THUDM/webrl-orm-llama-3.1-8b/tree/main)
### ✈️ Train SFT model
We use LLaMA-Factory to train the SFT baseline, which is the starting model for WebRL. We release the code and data used for training. You can train the SFT baseline with the following commands:
```bash
cd LLaMA-Factory
bash run.sh examples/train_full/llama3_full_policy_web.yaml
```
### ✈️ Train WebRL
After training the SFT baseline, you should use it as the initial model of the actor and critic. You can train WebRL with the following commands:
```bash
bash run_multinode.sh
```
This command is used to train the actor and critic in each phase.
### 💡 Generating New Instructions
You can generate new instructions with the following commands:
```bash
python scripts/gen_task.py
```
### 🛜 Interaction and Evaluation
The instruction and script for interaction with WebArena is provided in [VAB-WebArena-Lite](https://github.com/THUDM/VisualAgentBench/tree/main/VAB-WebArena-Lite).
You can implement the interaction process of WebRL according to the [``Evaluating in WebRL Setting (Text Modal)``](https://github.com/THUDM/VisualAgentBench/tree/main/VAB-WebArena-Lite#-evaluating-in-webrl-setting-text-modal) section of VAB-WebArena-Lite.
To enable interaction with WebArena, you need to configure each task in the same format as the sample test case provided in the ``test_webarena_lite.raw.json`` file in VAB-WebArena-Lite. Below is the template for a task configuration:
```python
{
"sites": [
<site> # possible choices: "shopping_admin", "map", "shopping", "reddit", "gitlab"
],
"task_id": <Your task id>
"require_login": true,
"storage_state": "./.auth/shopping_admin_state.json",
"start_url": <start url of site>, # possible choices: "__SHOPPING_ADMIN__", "__SHOPPING__", "__GITLAB__", "__MAP__", "__REDDIT__"
"geolocation": null,
"intent_template": "",
"instantiation_dict": {},
"intent": <Task>,
"require_reset": false,
"eval": {
"eval_types": [
"string_match"
],
"reference_answers": {
"exact_match": "N/A"
},
"reference_url": "",
"program_html": [],
"string_note": "",
"reference_answer_raw_annotation": ""
},
"intent_template_id": 0
}
```
After configuring the tasks, use the script ``scripts/generate_test_data.py`` to generate the configuration files. Make sure to modify the data path in the script to point to the JSON file containing your configured interaction cases.
After interactExcerpt of 5,947 characters
Read on GitHub42
Shaw · Tsinghua University · China
6
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:89f9243c2409bf2c, llm:Repository description: 'Building Open LLM Web Agents with Self-Evolving Online Curriculum RL'
matched fp:89f9243c2409bf2c, llm:Repository description: 'Building Open LLM Web Agents with Self-Evolving Online Curriculum RL'
matched fp:89f9243c2409bf2c, llm:Repository description: 'Building Open LLM Web Agents with Self-Evolving Online Curriculum RL'