chore(packaging): remove legacy evaluator wiring - #230
Conversation
74be2bd to
13787b7
Compare
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughRemoves the evaluator service from workspace and platform packaging, drops evaluator tests from discovery, updates docs/config import for evaluator, prunes related third-party license and OSV entries, and regenerates the pinned requirements export. ChangesEvaluator Service Removal from Platform
Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
dc6221b to
49e0bb1
Compare
Documentation preview is readyPreview: https://nvidia-nemo.github.io/nemo-platform/pr-preview/pr-230/pr-230/ Built from This preview is deployed from this PR branch, updates when docs changes are pushed, and will be removed when the PR closes. |
063caa5 to
6c4a945
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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.
Inline comments:
In `@packages/nemo_evaluator_sdk/pyproject.toml`:
- Around line 28-30: Update the dependency specification for langchain-openai to
add an upper bound consistent with the other LangChain dependency: change
"langchain-openai>=1.1.14" to "langchain-openai>=1.1.14,<2.0.0" in the
pyproject.toml dependencies block (look for the existing langchain-openai
entry), then regenerate your lockfile / reinstall dependencies (poetry lock or
pip/poetry install) so the constraint takes effect.
In `@plugins/nemo-safe-synthesizer/pyproject.toml`:
- Line 9: The pinned upper bound on the datasets dependency
("datasets>=3.3.1,<=4.3.0") is overly restrictive; either remove or relax the
<=4.3.0 cap so downstreams can use newer releases (e.g., change to
"datasets>=3.3.1" or broaden to "datasets>=3.3.1,<5.0.0"), or if there is a real
incompatibility with >=4.4.0, document the exact breaking change and add a
comment in pyproject.toml and the plugin README explaining why the upper bound
is required; update the dependency spec in pyproject.toml and add the
documentation note where the plugin's installation/requirements are described.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 02a0c79f-5a62-4847-8ba4-52dab814aa8a
⛔ Files ignored due to path filters (2)
sdk/python/nemo-platform/pyproject.tomlis excluded by!sdk/**uv.lockis excluded by!**/*.lock
📒 Files selected for processing (12)
docs/set-up/config-reference.mdpackages/nemo_evaluator_sdk/pyproject.tomlpackages/nemo_platform/pyproject.tomlplugins/nemo-evaluator/src/nemo_evaluator/config.pyplugins/nemo-evaluator/src/nemo_evaluator/service.pyplugins/nemo-safe-synthesizer/pyproject.tomlpyproject.tomlpytest.iniscript/generate_config_docs.pythird_party/licenses.jsonlthird_party/osv-licenses.jsonthird_party/requirements-main.txt
💤 Files with no reviewable changes (4)
- pytest.ini
- script/generate_config_docs.py
- third_party/licenses.jsonl
- docs/set-up/config-reference.md
✅ Files skipped from review due to trivial changes (1)
- third_party/requirements-main.txt
🚧 Files skipped from review as they are similar to previous changes (4)
- plugins/nemo-evaluator/src/nemo_evaluator/service.py
- plugins/nemo-evaluator/src/nemo_evaluator/config.py
- pyproject.toml
- third_party/osv-licenses.json
6c4a945 to
25a3625
Compare
25a3625 to
91518fb
Compare
Signed-off-by: Sandy Chapman <schapman@nvidia.com>
ab3ccfc to
cfb4ff7
Compare
Signed-off-by: Sandy Chapman <schapman@nvidia.com>
cfb4ff7 to
442a474
Compare
…refs Add metric persistence to the evaluator plugin so reusable metrics can be stored on the platform and referenced from eval jobs. Restores the metrics surface removed in #230, aligned to its workspace/name conventions. - Entity + storage: MetricBundleEntity (entity_type "metric_bundle") in the entity store; the executable cloudpickle bundle is uploaded to the Files service (one fileset per metric), with the entity holding bundle_ref + digest. - CRUD API (name-in-path): POST/GET/DELETE /apis/evaluator/v2/workspaces/{workspace}/metrics/{name} + list. Metrics are immutable (no update). - SDK: client.evaluator.metrics (create/retrieve/list/delete). - Job integration: EvaluateInputSpec.metrics accepts inline MetricInline and/or MetricRef (workspace/name); refs resolve from the entity store + Files during spec resolution. - Explicit CloudpickleMetricPayload schema (discriminated on kind); regenerated openapi.yaml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Sandy Chapman <schapman@nvidia.com>
…refs Add metric persistence to the evaluator plugin so reusable metrics can be stored on the platform and referenced from eval jobs. Restores the metrics surface removed in #230, aligned to its workspace/name conventions. - Entity + storage: MetricBundleEntity (entity_type "metric_bundle") in the entity store; the executable cloudpickle bundle is uploaded to the Files service (one fileset per metric), with the entity holding bundle_ref + digest. - CRUD API (name-in-path): POST/GET/DELETE /apis/evaluator/v2/workspaces/{workspace}/metrics/{name} + list. Metrics are immutable (no update). - SDK: client.evaluator.metrics (create/retrieve/list/delete). - Job integration: EvaluateInputSpec.metrics accepts inline MetricInline and/or MetricRef (workspace/name); refs resolve from the entity store + Files during spec resolution. - Explicit CloudpickleMetricPayload schema (discriminated on kind); regenerated openapi.yaml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Sandy Chapman <schapman@nvidia.com>
…refs Add metric persistence to the evaluator plugin so reusable metrics can be stored on the platform and referenced from eval jobs. Restores the metrics surface removed in #230, aligned to its workspace/name conventions. - Entity + storage: MetricBundleEntity (entity_type "metric_bundle") in the entity store; the executable cloudpickle bundle is uploaded to the Files service (one fileset per metric), with the entity holding bundle_ref + digest. - CRUD API (name-in-path): POST/GET/DELETE /apis/evaluator/v2/workspaces/{workspace}/metrics/{name} + list. Metrics are immutable (no update). - SDK: client.evaluator.metrics (create/retrieve/list/delete). - Job integration: EvaluateInputSpec.metrics accepts inline MetricInline and/or MetricRef (workspace/name); refs resolve from the entity store + Files during spec resolution. - Explicit CloudpickleMetricPayload schema (discriminated on kind); regenerated openapi.yaml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Sandy Chapman <schapman@nvidia.com>
Summary
Validation
Stacked on #227 (platform-seed disentangle).
Summary by CodeRabbit