This repository contains all the necessary files to set up and run VERL with Dojo integration
- Machine with 8xA100 GPUs
- Docker with NVIDIA runtime support
- Git
- Clone this repository:
git clone <this-repo-url>
cd verl-files- Choose your backend and start Docker container:
# For SGLang backend
./scripts/start-slang.sh
# OR for VLLM backend
./scripts/start-vllm.sh- Connect to the container:
# Use the helper script (runs setup automatically, installs dependencies etc)
./scripts/exec.sh
# For SGLang backend
docker exec -it verl bash
# OR for VLLM backend
docker exec -it verl_vllm bash
- Inside the container, run setup:
./scripts/setup.sh- Prepare data (if not already done by train.sh):
python dojo-src/prepare.py --local_dir ~/data/dojo- Start training:
./scripts/train.shdojo-config/tools.yaml: Defines the computer use tool schemadojo-config/agent.yaml: Agent loop configurationdojo-src/reward.py: Custom reward function implementationdojo-src/tool.py: Computer use tool implementationdojo-src/loop.py: Agent loop implementationdojo-src/prepare.py: Data preparation script
Set these before training (or modify in scripts/train.sh):
DOJO_API_KEY: Your Dojo API key
scripts/setup.sh: Installs VERL and dependenciesscripts/train.sh: Prepares data (if needed) and starts training with GRPOscripts/start-slang.sh: Starts Docker container with SGLang backendscripts/start-vllm.sh: Starts Docker container with VLLM backendscripts/exec.sh: Helper to exec into container and run setup
- Files are preserved between docker runs via volume mounting at
/workspace/verl - Configuration uses GRPO algorithm with multi-turn support
- Training logs are saved to
verl_dojo_grpo.log - The SGLang container is named
verl, VLLM container is namedverl_vllm