Skip to content

feat: update default nvidia-vision model to nemotron-3-nano-omni#583

Merged
nabinchha merged 3 commits into
mainfrom
nmulepati/feat/update-nvidia-vision-model
Apr 28, 2026
Merged

feat: update default nvidia-vision model to nemotron-3-nano-omni#583
nabinchha merged 3 commits into
mainfrom
nmulepati/feat/update-nvidia-vision-model

Conversation

@nabinchha

@nabinchha nabinchha commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

📋 Summary

Updates the default nvidia-vision model alias from nvidia/nemotron-nano-12b-v2-vl to nvidia/nemotron-3-nano-omni-30b-a3b-reasoning, which provides improved multimodal capabilities with reasoning support.

We're keeping the openrouter-vision model config unchanged until nvidia/nemotron-nano-12b-v2-vl becomes available there.

🔗 Related Issue

Closes #582

🔄 Changes

  • Updated PREDEFINED_PROVIDERS_MODEL_MAP[nvidia][vision] to use nvidia/nemotron-3-nano-omni-30b-a3b-reasoning with new inference params (temperature=0.60, top_p=0.95)
  • Added NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS constant in constants.py
  • Updated docs to reflect new model and parameters in default-model-settings.md and model-configs.md
  • Updated test assertions to match new model name

🧪 Testing

  • make test passes
  • Unit tests updated in test_default_model_settings.py
  • E2E tests added/updated — N/A, config-only change

✅ Checklist

  • Follows commit message conventions
  • Commits are signed off (DCO)
  • Architecture docs updated

Made with Cursor

@nabinchha nabinchha requested a review from a team as a code owner April 28, 2026 19:01
@github-actions

github-actions Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Docs preview: https://3febc4fb.dd-docs-preview.pages.dev

Notebook tutorials are placeholder-only in previews.

@greptile-apps

greptile-apps Bot commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates the default nvidia-vision model alias from nvidia/nemotron-nano-12b-v2-vl to nvidia/nemotron-3-nano-omni-30b-a3b-reasoning and adjusts inference parameters (temperature lowered from 0.85 to 0.60). Changes are consistently reflected across the constants file, documentation, and test assertions.

Confidence Score: 5/5

This PR is safe to merge — changes are config/constant updates with no logic errors and all dependent files updated consistently.

No P0 or P1 issues found. The model name, inference params, docs, and test assertions are all updated in lockstep. The lower temperature (0.60) is appropriate for a reasoning-capable model.

No files require special attention.

Important Files Changed

Filename Overview
packages/data-designer-config/src/data_designer/config/utils/constants.py Adds NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS constant and updates PREDEFINED_PROVIDERS_MODEL_MAP vision entry to use the new model and params; consistent with the pattern of other named-model param constants.
packages/data-designer-config/tests/config/test_default_model_settings.py Test assertion for nvidia-vision model name updated to match the new default model; change is correct and complete.
docs/concepts/models/default-model-settings.md Documentation table updated to reflect new nvidia-vision model name and temperature parameter; accurate and consistent with code changes.
docs/concepts/models/model-configs.md Example code snippet updated to use new model name and temperature value; consistent with constants.py.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PREDEFINED_PROVIDERS_MODEL_MAP\nnvidia / vision] --> B["model: nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"]
    A --> C[inference_parameters:\nNEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS]
    C --> D["temperature=0.60\ntop_p=0.95"]
    B --> E[nvidia-vision alias\nexposed to users]
    E --> F[test_default_model_settings.py\nassertion updated]
    E --> G[default-model-settings.md\ndoc table updated]
    E --> H[model-configs.md\nexample snippet updated]
Loading

Reviews (3): Last reviewed commit: "Merge branch 'main' into nmulepati/feat/..." | Re-trigger Greptile

@nabinchha nabinchha changed the title feat: update default nvidia-vision model to nemotron-3-nano-omni-30b-a3b-reasoning feat: update default nvidia-vision model to nemotron-3-nano-omni Apr 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Review: PR #583feat: update default nvidia-vision model to nemotron-3-nano-omni-30b-a3b-reasoning

Summary

Small, focused config-only change that re-points the nvidia-vision alias in PREDEFINED_PROVIDERS_MODEL_MAP from nvidia/nemotron-nano-12b-v2-vl to nvidia/nemotron-3-nano-omni-30b-a3b-reasoning, tuned with temperature=0.60, top_p=0.95. A new NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS constant is introduced, and docs + one test assertion are updated to match. 4 files, +8/-4.

Findings

Correctness

  • Only the nvidia provider entry is updated; openrouter-vision is intentionally left on the old model. Confirmed via constants.py:378 in the PR branch — openrouter still references nvidia/nemotron-nano-12b-v2-vl with DEFAULT_VISION_INFERENCE_PARAMS. That is why DEFAULT_VISION_INFERENCE_PARAMS remains (correctly) defined. The test builtin_model_configs[10] at line 90 of test_default_model_settings.py still asserts the old name, which is consistent. Worth confirming in the PR description that the openrouter asymmetry is deliberate — the PR title and summary say "update default nvidia-vision model" which reads cleanly, but a reader skimming the diff may wonder whether the openrouter entry was overlooked.
  • New model name advertises "reasoning" but no reasoning_effort is set. Every other "reasoning" model in this file (nemotron-3-super-120b-a12b, gpt-5) passes extra_body={"reasoning_effort": "medium"}. If nemotron-3-nano-omni-30b-a3b-reasoning supports the same knob, omitting it is a silent behavioral divergence; if it doesn't, a one-line comment here would pre-empt the obvious reviewer question. Please confirm with the model card.

Test coverage

  • test_get_builtin_model_configs asserts the new model string but does not assert the new inference parameters (temperature=0.60, top_p=0.95). The inference params are half of what this PR changes — an accidental reversion to the old values would pass tests today. Recommend adding assert builtin_model_configs[2].inference_parameters.temperature == 0.60 and top_p == 0.95 (or asserting the full dict against the new constant) alongside the existing model-name assertion. Low-cost, high-signal.

Conventions & style

  • Naming NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS matches the existing NEMOTRON_3_NANO_30B_A3B_INFERENCE_PARAMS / NEMOTRON_3_SUPER_120B_A12B_INFERENCE_PARAMS scheme — consistent.
  • The placement of the new constant next to the other model-specific constant blocks is correct.
  • No changes needed to imports, types, or __future__ annotations. No ruff-relevant surface touched.

Docs

  • default-model-settings.md row for nvidia-vision is updated. Good.
  • model-configs.md swaps the model string in the example but leaves the example's temperature=0.7, top_p=0.95, max_tokens=2048 unchanged. That's fine — it's an example of custom config, not a canonical default, and the values there have always differed from the real default. No action needed, just flagging for awareness.
  • Stale reference: docs/devnotes/posts/assets/data-designer-got-skills/trace-skill.html:169 still shows nvidia-vision nvidia/nemotron-nano-12b-v2-vl. This looks like a captured trace artifact from a historical run, so it's reasonable to leave it as-is (trace outputs rot naturally), but worth a one-line mention in the PR if you want to be explicit that it was seen and intentionally skipped.

Performance / Security

  • Nothing to flag. Pure config change; no new imports, no network code, no secrets surface.

Verdict

Approve with two small asks (both optional, neither blocking):

  1. Extend test_get_builtin_model_configs to also assert the new temperature/top_p values so the inference-params half of this change is covered.
  2. In the PR description (or a brief inline comment), confirm the reasoning_effort omission is intentional given the new model's "reasoning" suffix, and note that openrouter-vision is deliberately left on the previous model.

Change itself is low-risk, well-scoped, and follows established patterns in constants.py.

@nabinchha nabinchha merged commit 93ae875 into main Apr 28, 2026
54 checks passed
@nabinchha nabinchha deleted the nmulepati/feat/update-nvidia-vision-model branch April 28, 2026 19:36
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.

Update default nvidia-vision model to nemotron-3-nano-omni-30b-a3b-reasoning

2 participants