Skip to content

feat: aviary environments - #1466

Merged
cmunley1 merged 4 commits into
mainfrom
cmunley1/aviary-env
Aug 25, 2026
Merged

feat: aviary environments #1466
cmunley1 merged 4 commits into
mainfrom
cmunley1/aviary-env

Conversation

@cmunley1

Copy link
Copy Markdown
Contributor

moves gsm8k w calculator, hotpotqa w search, bixbench and bbh to environments

@copy-pr-bot

copy-pr-bot Bot commented May 29, 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.

@marta-sd
marta-sd self-requested a review June 17, 2026 07:13
Comment thread environments/aviary_gsm8k/config.yaml Outdated
datasets:
- name: train
type: train
jsonl_fpath: environments/aviary_bbh/data/gsm8k_train.jsonl

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
jsonl_fpath: environments/aviary_bbh/data/gsm8k_train.jsonl
jsonl_fpath: environments/aviary_gsm8k/data/gsm8k_train.jsonl

Comment thread environments/aviary_gsm8k/config.yaml Outdated
license: Apache 2.0
- name: validation
type: validation
jsonl_fpath: environments/aviary_bbh/data/gsm8k_validation.jsonl

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
jsonl_fpath: environments/aviary_bbh/data/gsm8k_validation.jsonl
jsonl_fpath: environments/aviary_gsm8k/data/gsm8k_validation.jsonl

datasets:
- name: train
type: train
jsonl_fpath: environments/aviary_bbh/data/hotpotqa_train.jsonl

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
jsonl_fpath: environments/aviary_bbh/data/hotpotqa_train.jsonl
jsonl_fpath: environments/aviary_hotpotqa/data/hotpotqa_train.jsonl

license: Apache 2.0
- name: validation
type: validation
jsonl_fpath: environments/aviary_bbh/data/hotpotqa_validation.jsonl

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
jsonl_fpath: environments/aviary_bbh/data/hotpotqa_validation.jsonl
jsonl_fpath: environments/aviary_hotpotqa/data/hotpotqa_validation.jsonl

Comment thread environments/aviary_bbh/README.md Outdated
## Remote Approach:
To run the remote approach, first launch the dataset server implemented in the [hypotest](https://github.com/EdisonScientific/hypotest) repository. Documentation on how to run the dataset server can be found [here](https://github.com/EdisonScientific/hypotest/blob/main/README.md).

Then, prepare your Gym data with the task_idx values of the problems you would like to train/evaluate on. An example dataset is provided for reference in [data/bbh_train_example.jsonl](data/bbh_train_example.jsonl).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Then, prepare your Gym data with the task_idx values of the problems you would like to train/evaluate on. An example dataset is provided for reference in [data/bbh_train_example.jsonl](data/bbh_train_example.jsonl).
Then, prepare your Gym data with the task_idx values of the problems you would like to train/evaluate on. An example dataset is provided for reference in [data/example.jsonl](data/example.jsonl).

BixBench-Hypothesis is a dataset proposed by Edison Scientific to measure LLM capabilities for testing hypotheses in bioinformatics contexts. Edison Scientific and NVIDIA have also collaborated to release BBH-Train, an RL training dataset meant to improve model capabilities on bioinformatics-related data analysis.

There are two methods to running BBH with NeMo-Gym: the remote approach and the bundled approach. The remote approach hosts the environment sandboxes as an external service that NeMo-Gym can communicate with, serving as a modular method for running train/inference jobs. The bundled approach colocates the environment sandboxes on the Gym/RL nodes, serving as an efficient and fully packaged method for running train/inference jobs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The instructions below assume that you have a running vLLM server and `policy_base_url`, `policy_model_name`, and `policy_api_key` specified in your `env.yaml`. See [documentation](https://docs.nvidia.com/nemo/gym/reference/configuration#local-configuration-envyaml) for details.

# BixBench (Aviary)

Adapts the BixBench [Aviary environment](https://github.com/Future-House/aviary) into NeMo Gym. Implements the [BixBench dataset](https://arxiv.org/abs/2503.00096) an environment with execution of a Jupyter notebook. Also serves as an example for how to implement notebook-backed environments for other scientific computational tasks.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The instructions below assume that you have a running vLLM server and `policy_base_url`, `policy_model_name`, and `policy_api_key` specified in your `env.yaml`. See [documentation](https://docs.nvidia.com/nemo/gym/reference/configuration#local-configuration-envyaml) for details.

# GSM8k (Aviary)

Adapts the GSM8K [Aviary environment](https://github.com/Future-House/aviary) into NeMo Gym. Implements [GSM8k](https://arxiv.org/abs/2110.14168) as an environment equipped with a calculator tool.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The instructions below assume that you have a running vLLM server and `policy_base_url`, `policy_model_name`, and `policy_api_key` specified in your `env.yaml`. See [documentation](https://docs.nvidia.com/nemo/gym/reference/configuration#local-configuration-envyaml) for details.

# HotPotQA (Aviary)

Adapts the HotPotQA [Aviary environment](https://github.com/Future-House/aviary) into NeMo Gym. The HotPotQA environment asks agents to perform multi-hop question answering on the [HotPotQA dataset](https://aclanthology.org/D18-1259/) with a wikipedia search tool.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The instructions below assume that you have a running vLLM server and `policy_base_url`, `policy_model_name`, and `policy_api_key` specified in your `env.yaml`. See [documentation](https://docs.nvidia.com/nemo/gym/reference/configuration#local-configuration-envyaml) for details.

@cmunley1
cmunley1 requested a review from a team as a code owner August 25, 2026 17:44
@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok

@cmunley1

Copy link
Copy Markdown
Contributor Author

/claude review

@github-actions

Copy link
Copy Markdown
Contributor

Signed-off-by: Christian Munley <cmunley@nvidia.com>
@cmunley1
cmunley1 force-pushed the cmunley1/aviary-env branch from d53fe28 to 0bd8ee2 Compare August 25, 2026 17:46
@cmunley1

Copy link
Copy Markdown
Contributor Author

/claude review

@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok

@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok to test 0bd8ee2

@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

SHIP — no reliability concerns.

Reviewed as a restructuring (Aviary configs/data moved from resources_servers/aviary/configs/ into per-env environments/aviary_*/ dirs) plus three small code changes. Verifier/scoring logic is untouched.

Code changes checked:

  • app.py obs_msg_to_nemo_gym: strictly a fix. The old json.loads(dump["content"]) raised TypeError (not caught by the except json.JSONDecodeError) when content was already a list, crashing conversion. The guarded isinstance(content, str) path preserves str/invalid-JSON behavior and now handles list content correctly. Covered by the new test_converts_list_content.
  • notebook_app.py BixBenchDataset: schema realignment to the current HF futurehouse/BixBench columns (capsule_uuid/question/ideal, one row per question). A wrong column name would KeyError loudly at dataset load (Docker/download-gated, verified: false) — no silent corruption. Covered by test_loads_current_dataset_schema. Docker image now overridable via NB_ENVIRONMENT_DOCKER_IMAGE.
  • requirements.txt: hypotest git dep enabled, SHA-pinned. Only imported by hypotest_app.py, which is not pulled in by app.py/notebook_app.py, so the core server stays importable; installs in the per-server isolated venv.

Config/data: GSM8K license: MIT + removal of the PLACEHOLDER gitlab_identifier blocks is correct. No dangling references to the old resources_servers/aviary/configs/ or data/ paths remain; the deleted bixbench_example.jsonl is superseded by environments/aviary_bixbench/data/example.jsonl. New prepare.py scripts and .gitignores are consistent across the four envs.

@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok to test caa201b

@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok to test 54effb8

Signed-off-by: Christian Munley <cmunley@nvidia.com>
@cmunley1

Copy link
Copy Markdown
Contributor Author

/ok to test 373970c

@cmunley1
cmunley1 merged commit 82673c7 into main Aug 25, 2026
36 checks passed
@cmunley1
cmunley1 deleted the cmunley1/aviary-env branch August 25, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants