Skip to content

Fix incorrect eval output config access#219

Merged
rapids-bot[bot] merged 1 commit intoNVIDIA:developfrom
AnuradhaKaruppiah:fix-eval
May 6, 2025
Merged

Fix incorrect eval output config access#219
rapids-bot[bot] merged 1 commit intoNVIDIA:developfrom
AnuradhaKaruppiah:fix-eval

Conversation

@AnuradhaKaruppiah
Copy link
Contributor

Description

The eval output_dir can be specified two ways:

eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/

(OR)

eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/

The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid eval.general.output access). This PR addresses that issue.

By Submitting this PR I confirm:

  • I am familiar with the Contributing Guidelines.
  • We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
    • Any contribution which contains commits that are not Signed-Off will not be accepted.
  • When the PR is ready for review, new or existing tests cover these changes.
  • When the PR is ready for review, the documentation is up to date with these changes.

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
@AnuradhaKaruppiah AnuradhaKaruppiah added bug Something isn't working non-breaking Non-breaking change labels May 6, 2025
@AnuradhaKaruppiah AnuradhaKaruppiah requested a review from Copilot May 6, 2025 19:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes an issue with accessing the output configuration in the evaluation module by adding a proper None check for eval.general.output. It also adds a test to ensure that the write_output function handles a None value for output gracefully.

  • Updated write_output in evaluate.py to prevent AttributeError by conditionally retrieving workflow_output_step_filter.
  • Added a new test in tests/aiq/eval/test_evaluate.py to verify this behavior.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/aiq/eval/test_evaluate.py Added unit test to verify safe handling of None output configuration.
src/aiq/eval/evaluate.py Fixed output config access in write_output by adding a None check.
Comments suppressed due to low confidence (1)

tests/aiq/eval/test_evaluate.py:437

  • The patch context manager is used without an explicit import. Make sure to import 'patch' from 'unittest.mock' to avoid runtime errors.
with patch("builtins.open", mock_open()), \

@dnandakumar-nv
Copy link
Contributor

/merge

@rapids-bot rapids-bot bot merged commit 53665ed into NVIDIA:develop May 6, 2025
10 checks passed
yczhang-nv pushed a commit to yczhang-nv/NeMo-Agent-Toolkit that referenced this pull request May 8, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
Signed-off-by: Yuchen Zhang <134643420+yczhang-nv@users.noreply.github.com>
@AnuradhaKaruppiah AnuradhaKaruppiah deleted the fix-eval branch May 9, 2025 16:05
yczhang-nv pushed a commit to yczhang-nv/NeMo-Agent-Toolkit that referenced this pull request May 9, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
Signed-off-by: Yuchen Zhang <yuchenz@nvidia.com>
ericevans-nv pushed a commit to ericevans-nv/agent-iq that referenced this pull request Jun 3, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
Signed-off-by: Eric Evans <194135482+ericevans-nv@users.noreply.github.com>
ericevans-nv pushed a commit to ericevans-nv/agent-iq that referenced this pull request Jun 3, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
Signed-off-by: Eric Evans <194135482+ericevans-nv@users.noreply.github.com>
AnuradhaKaruppiah added a commit to AnuradhaKaruppiah/oss-agentiq that referenced this pull request Aug 4, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
scheckerNV pushed a commit to scheckerNV/aiq-factory-reset that referenced this pull request Aug 22, 2025
The eval output_dir can be specified two ways:
```
eval:
  general:
    output_dir: ./.tmp/aiq/examples/simple/
```

(OR)
```
eval:
  general:
    output:
       dir: ./.tmp/aiq/examples/simple/
```
The second is the preferred way as it allows additional output config. However, we maintain the first for backwards compatibility purposes. A previous change broke this compatibility (because of invalid `eval.general.output` access). This PR addresses that issue.


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/advanced/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
  - Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah)

Approvers:
  - Dhruv Nandakumar (https://github.com/dnandakumar-nv)

URL: NVIDIA#219
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants