Configuration
Complete syntax and field specifications for NeMo Gym configuration files.
File Locations
Path Resolution and External Roots
Gym resolves every relative path — config_paths, env.yaml, prompt configs, dataset files, the --<component> selectors (--benchmark, --environment, --model-type, --resources-server), and server directories (used by gym env test) — against an ordered list of roots, returning the first one where the path exists:
- Extra roots from
NEMO_GYM_EXTRA_ROOTS(or--search-dir), in the order listed. - The current working directory — your project.
- The Gym install root, where the built-in components live (in both editable and wheel installs).
Earlier roots win, so a component you provide shadows a same-named built-in. Absolute paths are used unchanged.
External roots (NEMO_GYM_EXTRA_ROOTS)
Point Gym at one or more extra roots so your own benchmarks, environments, resources servers, agents, models, configs, prompts, and data resolve by name — without forking Gym or copying files into the install tree. Each root uses the same layout as the Gym repo:
Set it as an os.pathsep-separated list (: on Linux/macOS):
The variable is inherited by the servers Gym spawns, so plugin components resolve inside them too.
--search-dir
--search-dir DIR (repeatable) is the per-invocation equivalent: Gym sets NEMO_GYM_EXTRA_ROOTS to its value for the duration of that command, then restores it. Use it for one-off runs instead of exporting the variable.
Prefer NEMO_GYM_EXTRA_ROOTS when the same plugin roots apply to every command in a shell session; reach for --search-dir for a single invocation. If both are set, --search-dir takes precedence for that command.
Server Configuration
All servers share this structure:
Model Server Fields
Keep the server ID as policy_model — agent configs reference this name by default. The ${policy_base_url}, ${policy_api_key}, and ${policy_model_name} placeholders should be defined in env.yaml at the repository root, allowing you to change model settings in one place.
Resources Server Fields
Domain values: math, coding, agent, knowledge, instruction_following, long_context, safety, games, translation, e2e, rlhf, other (see Domain)
Agent Server Fields
Agent servers must include both a resources_server and model_server block to specify which servers to use.
Dataset Configuration
Define datasets associated with agent servers for training and evaluation.
Dataset types:
example— For testing and developmenttrain— Training data (requireslicense)validation— Evaluation data (requireslicense)
License values: Apache 2.0, MIT, Creative Commons Attribution 4.0 International, Creative Commons Attribution-ShareAlike 4.0 International, CC BY-SA 4.0, CC BY-NC 3.0, TBD (see license)
Local Configuration (env.yaml)
Store secrets and local settings at the repository root. This file is gitignored.
Multi-Node Configuration
use_absolute_ip — Controls the default host servers bind to.
- Default:
false— servers use127.0.0.1(localhost). - When to use: Set to
truefor multi-node setups (e.g. multi-node Ray clusters) where servers must communicate across machines. - Effect: Resolves and uses the host’s IP address (
gethostbyname(gethostname())) instead of localhost.
Command Line Usage
To run servers, use gym env start. NeMo Gym uses Hydra for configuration management.
Loading Configs
Overriding Values
Troubleshooting
Configuration for common configuration errors and solutions.