feat(evaluator): add GymRunnerTarget plugin wiring and Studio rendering - #1257
Conversation
Signed-off-by: Jash Gulabrai <jgulabrai@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe PR adds ChangesGym evaluation support
Sequence Diagram(s)sequenceDiagram
participant AgentEvalSpec
participant agent_evaluate
participant GymAgentTaskRunner
AgentEvalSpec->>agent_evaluate: Provide GymRunnerTarget
agent_evaluate->>GymAgentTaskRunner: Create GymRuntimeConfig
GymAgentTaskRunner-->>agent_evaluate: Return configured runner
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsx (1)
87-127: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd a runner-only result test.
Current fixtures always include a native score when runner scores exist. Add a runner-only fixture. Assert the native empty message and the gray runner badge. This verifies both changed branches.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsx` around lines 87 - 127, The existing evaluation tests only cover runner scores alongside a native score; add a runner-only fixture in the test around renderDetail and the agent-evaluation result request. Assert that the native section displays its empty-state message and that the runner section shows the gray runner badge, while preserving the existing runner metric assertions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@web/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsx`:
- Around line 87-127: The existing evaluation tests only cover runner scores
alongside a native score; add a runner-only fixture in the test around
renderDetail and the agent-evaluation result request. Assert that the native
section displays its empty-state message and that the runner section shows the
gray runner badge, while preserving the existing runner metric assertions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: bc93b92e-ba78-4327-9db7-229b437ae68d
📒 Files selected for processing (10)
plugins/nemo-evaluator/openapi/openapi.yamlplugins/nemo-evaluator/src/nemo_evaluator/jobs/agent_evaluate.pyplugins/nemo-evaluator/src/nemo_evaluator/jobs/agent_spec.pyplugins/nemo-evaluator/src/nemo_evaluator/jobs/result_persistence.pyplugins/nemo-evaluator/tests/jobs/test_publication.pyplugins/nemo-evaluator/tests/test_agent_evaluate.pyplugins/nemo-evaluator/tests/test_result_persistence.pyweb/packages/studio/src/components/evaluation/EvalAggregateScoresTable.tsxweb/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.test.tsxweb/packages/studio/src/routes/agents/AgentEvaluationsRoute/AgentEvaluationDetailRoute.tsx
|
Signed-off-by: Jash Gulabrai <jgulabrai@nvidia.com>
Signed-off-by: Jash Gulabrai <jgulabrai@nvidia.com>
SandyChapman
left a comment
There was a problem hiding this comment.
This looks good to me!
Summary
GymRunnerTargetto the evaluator plugin so Gym evals can run as governed platform jobs with result persistence and Intake publication.runner.gym.*scores in a separate "Runner Scores" section on the Evaluation Details page.Related Issue
GymRunnerTargetviatarget_agent_identity. Before this PR, submitting a Gym job withpublication.intakewould fail at spec validation because the agent name could not be derived from the target.Changes
Backend:
GymRunnerTargetDTO following the same pattern asHarborRunnerTarget; its fields mirrorGymRuntimeConfig1:1 and_resolve_targetmaps them ontoGymAgentTaskRunner._to_runtime_taskto round-trip Gym-specific task data through the plugin's string-only metadata serialization.Frontend: Add
disableScoreColoringprop toEvalAggregateScoresTableand use it to renderrunner.*scores in a separate "Runner Scores" section with gray badges.Type of Change
Quality Gates
Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
End-to-end (AALGO-436 + AALGO-488):
nemo evaluator agent-evaluate submitwith GymRunnerTarget dataset (5 questions, simple_agent, llama-3.1-8b-instruct via NVIDIA Build).End-to-end (AALGO-486):
publication.intakeset to a pre-existing Evaluation (gym-mcqa-eval).gym-mcqa-evalviaSummary by CodeRabbit
New Features
Bug Fixes
Tests