{"id":27512,"library":"verl","title":"verl","description":"verl is a reinforcement learning framework for large language models (LLMs) developed by Volcano Engine. It provides end-to-end RL training (e.g., PPO, GRPO) with distributed compute and vLLM integration. Current version 0.7.1, actively developed and released on PyPI.","status":"active","version":"0.7.1","language":"python","source_language":"en","source_url":"https://github.com/volcengine/verl","tags":["reinforcement-learning","llm","distributed-training","vllm","verl"],"install":[{"cmd":"pip install verl","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"verl depends on vLLM for fast LLM inference during RL training","package":"vllm","optional":false},{"reason":"PyTorch is required for model training and tensor operations","package":"torch","optional":false}],"imports":[{"note":"Main entry point for creating a group of workers for distributed RL","wrong":null,"symbol":"WorkerGroup","correct":"from verl import WorkerGroup"},{"note":"Helper to create an inference engine with offloading support","wrong":null,"symbol":"create_offload_inference_engine","correct":"from verl.utils import create_offload_inference_engine"}],"quickstart":{"code":"from verl import WorkerGroup\nfrom verl.utils import create_offload_inference_engine\n\nmodel_path = \"Qwen/Qwen2.5-0.5B-Instruct\"\nworker_group = WorkerGroup(\n    num_gpus_per_worker=1,\n    model_path=model_path,\n    inference_engine=create_offload_inference_engine()\n)\n\n# Example: generate completions\nprompts = [\"What is RL?\"]\noutputs = worker_group.generate(prompts)\nprint(outputs)","lang":"python","description":"Initialize a WorkerGroup with an offloaded inference engine and generate text."},"warnings":[{"fix":"Upgrade Python to 3.10 or higher.","message":"verl 0.7.x dropped support for Python 3.9 and below. Only Python >=3.10 is supported.","severity":"breaking","affected_versions":">=0.7.0"},{"fix":"Access completions directly via list indexing.","message":"WorkerGroup.generate() returns a list of strings, not a dictionary. New users often expect a dict with keys like 'text' or 'response'.","severity":"gotcha","affected_versions":"all"},{"fix":"Always use the utility function provided by verl to create the engine.","message":"The inference engine must be created via `create_offload_inference_engine()` (or similar) before constructing WorkerGroup. Passing a raw vLLM engine will cause silent errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install verl` and ensure the virtual environment is activated.","cause":"verl is not installed or installed in a different environment.","error":"ModuleNotFoundError: No module named 'verl'"},{"fix":"Use `from verl.utils import create_offload_inference_engine` and pass `engine=create_offload_inference_engine()` to WorkerGroup.","cause":"The inference engine was not properly initialized.","error":"TypeError: 'NoneType' object is not callable when calling WorkerGroup.generate()"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}