Verifiers: Environments for LLM Reinforcement Learning
Documentation • Environments Hub • PRIME-RL
News & Updates
- [01/08/26] v0.1.9 is released, featuring a number of new experimental environment class types, monitor rubrics for automatic metric collection, improved workspace setup flow, improved error handling, bug fixes, and a documentation overhaul.
- [11/19/25] v0.1.8 is released, featuring a major refactor of the rollout system to use trajectory-based tracking for token-in token-out training across turns, as well as support for truncated or branching rollouts.
- [11/07/25] Verifiers v0.1.7 is released! This includes an improved quickstart configuration for training with prime-rl, a new included "nano" trainer (
vf.RLTrainer, replacingvf.GRPOTrainer), and a number of bug fixes and improvements to the documentation. - [10/27/25] A new iteration of the Prime Intellect Environments Program is live!
Overview
Verifiers is our library for creating environments to train and evaluate LLMs.
Environments contain everything required to run and evaluate a model on a particular task:
- A dataset of task inputs
- A harness for the model (tools, sandboxes, context management, etc.)
- A reward function or rubric to score the model's performance
Environments can be used for training models with reinforcement learning (RL), evaluating capabilities, generating synthetic data, experimenting with agent harnesses, and more.
Verifiers is tightly integrated with the Environments Hub, as well as our training framework prime-rl and our Hosted Training platform.
Getting Started
Ensure you have uv installed, as well as the prime CLI tool:
# install uv curl -LsSf https://astral.sh/uv/install.sh | sh # install the prime CLI uv tool install prime # log in to the Prime Intellect platform prime login
To set up a new workspace for developing environments, do:
# ~/dev/my-lab
prime lab setup This sets up a Python project if needed (with uv init), installs verifiers (with uv add verifiers), creates the recommended workspace structure, and downloads useful starter files:
configs/
├── endpoints.toml # OpenAI-compatible API endpoint configuration
├── rl/ # Example configs for Hosted Training
├── eval/ # Example multi-environment eval configs
└── gepa/ # Example configs for prompt optimization
.prime/
└── skills/ # Bundled workflow skills for create/browse/review/eval/GEPA/train/brainstorm
environments/
└── AGENTS.md # Documentation for AI coding agents
AGENTS.md # Top-level documentation for AI coding agents
CLAUDE.md # Claude-specific pointer to AGENTS.md
Alternatively, add verifiers to an existing project:
uv add verifiers && prime lab setup --skip-installEnvironments built with Verifiers are self-contained Python modules. To initialize a fresh environment template, do:
prime env init my-env # creates a new template in ./environments/my_envFor OpenEnv integration, use:
prime env init my-openenv --openenv
Then copy your OpenEnv project into environments/my_openenv/proj/ and build the image with:
uv run vf-build my-openenv
This will create a new module called my_env with a basic environment template.
environments/my_env/
├── my_env.py # Main implementation
├── pyproject.toml # Dependencies and metadata
└── README.md # Documentation
Environment modules should expose a load_environment function which returns an instance of the Environment object, and which can accept custom arguments. For example:
# my_env.py import verifiers as vf def load_environment(dataset_name: str = 'gsm8k') -> vf.Environment: dataset = vf.load_example_dataset(dataset_name) # 'question' async def correct_answer(completion, answer) -> float: completion_ans = completion[-1]['content'] return 1.0 if completion_ans == answer else 0.0 rubric = Rubric(funcs=[correct_answer]) env = vf.SingleTurnEnv(dataset=dataset, rubric=rubric) return env
To install the environment module into your project, do:
prime env install my-env # installs from ./environments/my_envTo install an environment from the Environments Hub into your project, do:
prime env install primeintellect/math-python
To run a local evaluation with any OpenAI-compatible model, do:
prime eval run my-env -m gpt-5-nano # run and save eval results locally
Evaluations use Prime Inference by default; configure your own API endpoints in ./configs/endpoints.toml.
View local evaluation results in the terminal UI:
To publish the environment to the Environments Hub, do:
prime env push --path ./environments/my_env
To run an evaluation directly from the Environments Hub, do:
prime eval run primeintellect/math-pythonDocumentation
Environments — Create datasets, rubrics, and custom multi-turn interaction protocols.
Evaluation - Evaluate models using your environments.
Training — Train models in your environments with reinforcement learning.
Development — Contributing to verifiers
API Reference — Understanding the API and data structures
FAQs - Other frequently asked questions.
Citation
Originally created by Will Brown (@willccbb).
If you use this code in your research, please cite:
@misc{brown_verifiers_2025, author = {William Brown}, title = {{Verifiers}: Environments for LLM Reinforcement Learning}, howpublished = {\url{https://github.com/PrimeIntellect-ai/verifiers}}, note = {Commit abcdefg • accessed DD Mon YYYY}, year = {2025} }