Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions examples/nemo_gym/prefetch_super_all_envs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ env:

# Thin vllm_model clients for the judge refs the bundled configs expect (so refs resolve and
# the vllm_model venv builds). genrm_model is already defined by the bundled genrm_compare.yaml.
# return_token_id_information/uses_reasoning_parser have no defaults in Gym's VLLMModelConfig,
# so they must be set even on thin clients that never spin up a server.
Comment thread
yuki-97 marked this conversation as resolved.
Resolved
safety_judge_model:
responses_api_models:
vllm_model:
Expand All @@ -68,6 +70,8 @@ env:
api_key: dummy
model: dummy-judge
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
Comment thread
yfw marked this conversation as resolved.
Resolved
judge_model:
responses_api_models:
vllm_model:
Expand All @@ -76,6 +80,8 @@ env:
api_key: dummy
model: dummy-judge
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
# Thin client for the *_reasoning_off agent refs.
policy_model_reasoning_off:
responses_api_models:
Expand All @@ -85,17 +91,24 @@ env:
api_key: dummy
model: dummy-model
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
# Standalone server defined only to bake the local_vllm_model venv (the runtime GPU judges
# use this type). dry_run builds the venv without loading a model.
# LocalVLLMModelConfig extends VLLMModelConfig, so it needs the two fields above plus a
# vllm_serve_env_vars mapping (also default-less).
prefetch_local_vllm_model:
responses_api_models:
local_vllm_model:
entrypoint: app.py
model: dummy-model
return_token_id_information: false
uses_reasoning_parser: false
vllm_serve_kwargs:
tensor_parallel_size: 1
data_parallel_size: 1
pipeline_parallel_size: 1
vllm_serve_env_vars: {}

# swe_agents marks container_formatter/dataset_path mandatory; dummies satisfy the dry run.
swe_agents_train:
Expand Down
13 changes: 13 additions & 0 deletions examples/nemo_gym/prefetch_ultra_all_envs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ env:

# Thin vllm_model clients for the judge refs the bundled configs expect (so refs resolve and
# the vllm_model venv builds). genrm_model is already defined by the bundled genrm_compare.yaml.
# return_token_id_information/uses_reasoning_parser have no defaults in Gym's VLLMModelConfig,
# so they must be set even on thin clients that never spin up a server.
safety_judge_model:
responses_api_models:
vllm_model:
Expand All @@ -90,6 +92,8 @@ env:
api_key: dummy
model: dummy-judge
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
judge_model:
responses_api_models:
vllm_model:
Expand All @@ -98,6 +102,8 @@ env:
api_key: dummy
model: dummy-judge
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
# Thin client for the *_reasoning_off agent refs.
policy_model_reasoning_off:
responses_api_models:
Expand All @@ -107,17 +113,24 @@ env:
api_key: dummy
model: dummy-model
spinup_server: false
return_token_id_information: false
uses_reasoning_parser: false
# Standalone server defined only to bake the local_vllm_model venv (the runtime GPU judges
# use this type). dry_run builds the venv without loading a model.
# LocalVLLMModelConfig extends VLLMModelConfig, so it needs the two fields above plus a
# vllm_serve_env_vars mapping (also default-less).
prefetch_local_vllm_model:
responses_api_models:
local_vllm_model:
entrypoint: app.py
model: dummy-model
return_token_id_information: false
uses_reasoning_parser: false
vllm_serve_kwargs:
tensor_parallel_size: 1
data_parallel_size: 1
pipeline_parallel_size: 1
vllm_serve_env_vars: {}

# swe_agents marks container_formatter/dataset_path mandatory; dummies satisfy the dry run.
swe_agents_train:
Expand Down
9 changes: 9 additions & 0 deletions examples/nemo_gym/prefetch_venvs.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,15 @@ def prefetch_nemo_gym_venvs(config_paths: list[str]) -> None:
**os.environ,
"VIRTUAL_ENV": nemo_gym_py_exec,
"UV_PROJECT_ENVIRONMENT": nemo_gym_py_exec,
# Gym server setup scripts shell out to `uv pip install --no-cache`
# (e.g. swe_agents' r2e_gym.sh), and uv rejects --no-cache combined
# with symlink installs: "Symlink-based installation is not supported
# with `--no-cache`". docker/Dockerfile exports UV_LINK_MODE=symlink
# for this prefetch, and os.environ above propagates it into every
# server's setup subprocess. Pin hardlink for the Gym actor only, so
# the outer prefetch keeps symlink semantics. hardlink is equally
# space-efficient and, unlike symlink, survives uv cache pruning.
Comment thread
yfw marked this conversation as resolved.
Resolved
"UV_LINK_MODE": "hardlink",
},
},
}
Expand Down
Loading