NeMo Gym uses YAML configuration files to define Model, Resources, and Agent servers. Each server gets its own configuration block, providing modular control over the entire training environment.
A training environment typically includes all three server types working together. The Agent server config specifies which Model and Resources servers to use by referencing their server IDs. These references connect each training environment together — the Agent knows which Model to call and which Resources to use.
Each server type has a dedicated directory with its implementations and their configs:
Each config file defines a server using this structure:
Different server types have additional required fields (e.g., domain for resources servers, resources_server and model_server for agents). See Configuration for complete field specifications.
Config files in NeMo Gym often use the same name for both server ID and implementation:
These serve different purposes:
Server ID (example_single_tool_call on line 1): Your chosen identifier for this server instance. Used in API requests and when other servers reference it. You could name it my_weather or weather_prod instead.
Implementation (example_single_tool_call on line 3): Must match the folder resources_servers/example_single_tool_call/. This tells NeMo Gym which code to run.
Examples often use matching names for simplicity, but the two values are independent choices.