Skip to content

feat: Allow explicit input files in eval runs - #3502

Open
rystewart-nvidia wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
rystewart-nvidia:benchmark-explicit-input
Open

rystewart-nvidia wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
rystewart-nvidia:benchmark-explicit-input

Conversation

@rystewart-nvidia

Copy link
Copy Markdown
Contributor

Summary

This PR adds support for --input to the all-in-one gym eval run flow. Currently, using an explicit input file requires starting servers separately with gym env start, then collecting rollouts with gym eval run --no-serve --input ....

With this change, users can pass an already-prepared JSONL file and let Gym handle server startup, rollout collection, and shutdown in one command. This simplifies running subsets or retrying selected tasks without adding a separate dataset configuration. Any required dataset preparation still happens beforehand.

Closes #3501

Design

  • Accepts --input without requiring --split.
  • Gives explicit input files precedence over configured splits.
  • Uses the supplied prepared JSONL directly, bypassing preparation of configured dataset splits.
  • Checks that the input file exists and is a file before starting servers.
  • Passes the selected file through to the standard collector or a benchmark’s custom collection driver.
  • Preserves existing split preparation and cache reuse when no input file is supplied.
  • Updates the CLI help and reference documentation.

Validation

  • 446 tests passed across CLI, rollout collection, and documentation checks.
  • Regression coverage for explicit inputs, invalid paths, split preparation, cache reuse, and custom collection drivers.
  • Live end-to-end smoke test using gym eval run --input, without --split or --no-serve. Ran one task from example_single_tool_call with gpt-5.6-sol, exercising actual server startup, model inference, tool execution, verification, and shutdown. The rollout completed with reward 1.0 and 232 tokens recorded.
  • pre-commit run --all-files.
  • Fern documentation validation completed with zero errors and one warning.

The orchestration unit tests mock server startup and collection. The separate live smoke test exercised the full flow without mocks.

Signed-off-by: Ryan Stewart <rystewart@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 17, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@nemo-automation-bot nemo-automation-bot Bot added the community-request Issue reported or requested by someone from the community label Sep 17, 2026
@yaoyu-33 yaoyu-33 added area:cli Command-line interfaces and user-facing command behavior complexity:low Localized change in one scope with a small, straightforward review surface feature New capabilities, enhancements, or enablement work needs-review PR is ready for code review and waiting on a reviewer labels Sep 17, 2026
@github-actions github-actions Bot added the sla:triage-overdue Review assignment is over the one-business-day SLA label Sep 18, 2026
@svcnvidia-nemo-ci svcnvidia-nemo-ci added the waiting-on-maintainers Waiting on maintainers to respond label Sep 20, 2026
@yaoyu-33 yaoyu-33 removed the needs-review PR is ready for code review and waiting on a reviewer label Sep 20, 2026
@yaoyu-33 yaoyu-33 removed the community-request Issue reported or requested by someone from the community label Oct 1, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:cli Command-line interfaces and user-facing command behavior complexity:low Localized change in one scope with a small, straightforward review surface feature New capabilities, enhancements, or enablement work sla:triage-overdue Review assignment is over the one-business-day SLA waiting-on-maintainers Waiting on maintainers to respond

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow explicit input files in the all-in-one gym eval run flow

3 participants