Skip to content

TIGER-AI-Lab/verl-tool

Repository files navigation

Verl-Tool

VerlTool

VerlTool: A unified and easy-to-extend tool-agent training framework based on verl.

| Quick Start | Training Recipes | DeepWiki | WeChat Group | Discord |


News

  • [2025/06/30] We reproduce Search-R1 with even higher performance on the same benchmarks! See PR and training README for more details.
  • [2025/06/28] We support NL2SQL tool RL training. See NL2SQL README for more details.
  • [2025/06/26] We support DAPO recipe training. See DAPO.md for more details.
  • [2025/06/18] VerlTool now officially supports Trajectory-Level asynchronous, speeding up the rollout generation with tool calling by at least 2x! see asyncRL.md for more details.
  • [2024/06/16] We have updated the verl submodule to the latest version (06/16) and modified some code to adapt to the new version.
  • [2025/06/13] We integrated DeepWiki for Verl-Tool. Feel free to browse the AI-generated docs and chat with Verl-tool codes.
  • [2025/06/06] We have updated a detailed design overview in the README, including how to add new tools, how to use the tool server, and how to train your own models with verl-tool.
  • [2025/05/31] We released the Verl-tool training/evaluation code with ToRL training as an initial example (see X post). We are working on the paper and will release it very soon.

Features

  • 🔧 Complete decoupling of actor rollout and environment interaction - We use verl as a submodule to benefit from ongoing verl repository updates. All tool calling is integrated via a unified API, allowing you to easily add new tools by simply adding a Python file and testing independently.
  • 🌍 Tool-as-environment paradigm - Each tool interaction can modify the environment state. We store and reload environment states for each trajectory.
  • Native RL framework for tool-calling agents - verl-tool natively supports multi-turn interactive loops between agents and their tool environments.
  • 📊 User-friendly evaluation suite - Launch your trained model with OpenAI API alongside the tool server. Simply send questions and get final outputs with all interactions handled internally. See benchmarks.

Verl-Tool Architecture

Installation

Option 1: UV Installation

We highly recommend using uv to install verl-tool.

# install uv if not installed first
git submodule update --init --recursive
uv sync
source .venv/bin/activate
uv pip install -e verl
uv pip install -e ".[vllm,acecoder,torl,search_tool]"
uv pip install "flash-attn<2.8.0" --no-build-isolation

Option 2: Conda Installation

git submodule update --init --recursive
conda create --name verl-tool-env python=3.10
conda activate verl-tool-env
pip install -e verl
pip install -e ".[vllm,acecoder,torl,search_tool]"
pip install "flash-attn<2.8.0" --no-build-isolation

📚 Contents Link

Core Contributors

Dongfu Jiang
Dongfu Jiang
Zhuofeng Li
Zhuofeng Li
Yi Lu
Yi Lu
Zhiheng Lvu
Zhiheng Lvu
Ping Nie
Ping Nie

Advisors

Wenhu Chen
Wenhu Chen
Tianyu Pang
Tianyu Pang
Chao Du
Chao Du

Acknowledgements

We thank the following open-source projects for making verl-tool possible:

  • VLLM and SGLang for their fast LLM inference support!
  • verl for the excellent RL framework design.
  • SearchR1, RAGEN, and ToRL for their early-stage exploration of tool-agent RL training.

We thank Netmind.AI, SeaAI Lab, and Map for GPU support!

Star History

Star History Chart

Badge

MseeP.ai Security Assessment Badge

About

A version of verl to support tool use

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published