KEMBAR78
Provide a config to pass the complete dataset entry as an EvalInputItem field to evaluators by AnuradhaKaruppiah · Pull Request #355 · NVIDIA/NeMo-Agent-Toolkit · GitHub
Skip to content

Conversation

@AnuradhaKaruppiah
Copy link
Contributor

@AnuradhaKaruppiah AnuradhaKaruppiah commented Jun 10, 2025

Description

  • Add support for passing the full dataset entry through to evaluators via a new full_dataset_entry field on EvalInputItem.
  • Add tests and update docs to demonstrate full_dataset_entry.

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>
Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
@AnuradhaKaruppiah AnuradhaKaruppiah added improvement Improvement to existing functionality non-breaking Non-breaking change labels Jun 10, 2025
Copilot

This comment was marked as outdated.

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
@AnuradhaKaruppiah AnuradhaKaruppiah self-assigned this Jun 11, 2025
Copy link
Collaborator

@mdemoret-nv mdemoret-nv left a comment

Choose a reason for hiding this comment

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

There is a disconnect here between where this setting is specified and where it will be used. The setting is on the dataset specification but it would only be used by evaluators. So its possible to set pass_full_entry=False and then use a metric which requires the full entry.

Instead, why dont we just always include the full entry and then add options to filter it from the saved output? I dont see any reason why we shouldnt include the full entry by default to the evaluators.

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
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

Adds support for passing the full dataset entry through to evaluators via a new full_dataset_entry field on EvalInputItem, controlled by a pass_full_entry flag.

  • Always include full_dataset_entry in each EvalInputItem (intended to be conditional).
  • Extend EvalInputItem model and DatasetHandler to populate the new field.
  • Add tests and update docs to demonstrate full_dataset_entry.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/aiq/eval/dataset_handler/test_dataset_handler.py Add fixtures and test to verify full_dataset_entry contains all extra fields.
src/aiq/eval/evaluator/evaluator_model.py Extend EvalInputItem model with full_dataset_entry field
src/aiq/eval/dataset_handler/dataset_handler.py Populate full_dataset_entry via row.to_dict() in create_eval_item
docs/source/reference/evaluate.md Document full_dataset_entry access in evaluators
docs/source/extend/custom-evaluator.md Describe full_dataset_entry in custom evaluator reference
Comments suppressed due to low confidence (3)

src/aiq/eval/evaluator/evaluator_model.py:30

  • [nitpick] Consider making full_dataset_entry optional (e.g., typing.Optional[dict]) or providing a default value so the model remains valid when the feature is disabled.
full_dataset_entry: typing.Any

tests/aiq/eval/dataset_handler/test_dataset_handler.py:156

  • Add a test for when pass_full_entry is set to false to confirm full_dataset_entry is omitted or empty in EvalInputItem.
dataset_config = EvalDatasetJsonConfig()

docs/source/reference/evaluate.md:90

  • Include an example YAML snippet under the dataset config showing how to enable pass_full_entry (e.g., dataset: pass_full_entry: true) so users know how to turn this feature on.
### Accessing Additional Dataset Fields in Evaluators

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
@AnuradhaKaruppiah
Copy link
Contributor Author

/merge

@rapids-bot rapids-bot bot merged commit 4f05208 into NVIDIA:develop Jun 12, 2025
12 checks passed
@AnuradhaKaruppiah AnuradhaKaruppiah deleted the ak-custom-eval-update branch June 25, 2025 15:33
AnuradhaKaruppiah added a commit to AnuradhaKaruppiah/oss-agentiq that referenced this pull request Aug 4, 2025
…em field to evaluators (NVIDIA#355)

- Add support for passing the full dataset entry through to evaluators via a new full_dataset_entry field on EvalInputItem.
- Add tests and update docs to demonstrate full_dataset_entry.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/resources/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:
  - Yuchen Zhang (https://github.com/yczhang-nv)
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: NVIDIA#355
scheckerNV pushed a commit to scheckerNV/aiq-factory-reset that referenced this pull request Aug 22, 2025
…em field to evaluators (NVIDIA#355)

- Add support for passing the full dataset entry through to evaluators via a new full_dataset_entry field on EvalInputItem.
- Add tests and update docs to demonstrate full_dataset_entry.

## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/AIQToolkit/blob/develop/docs/source/resources/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:
  - Yuchen Zhang (https://github.com/yczhang-nv)
  - Michael Demoret (https://github.com/mdemoret-nv)

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

Labels

improvement Improvement to existing functionality non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants