fix(config): update OpenRouter vision model id#630
Conversation
Review: PR #630 — fix(config): update OpenRouter vision model idSummarySmall, focused PR (+25/-5) that does two things:
The PR description matches the diff; a live OpenRouter probe against the new ID is reported as returning FindingsCorrectness
Style / conventions
Robustness of the retry
Coupling to
|
Greptile SummaryThis PR fixes the scheduled provider health checks by updating the
|
| Filename | Overview |
|---|---|
| packages/data-designer-config/src/data_designer/config/utils/constants.py | Switches openrouter-vision from nvidia/nemotron-nano-12b-v2-vl with DEFAULT_VISION_INFERENCE_PARAMS to nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free with NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS (temperature=0.60, top_p=0.95); no issues found. |
| packages/data-designer-config/tests/config/test_default_model_settings.py | Updates builtin model config assertions to match new model ID and adds ChatCompletionInferenceParams assertion for temperature=0.60, top_p=0.95; ChatCompletionInferenceParams is already imported. |
| scripts/health_checks.py | Adds one retry for empty/non-string chat responses and replaces bare assertions with descriptive provider/model-specific error messages; embedding path is unchanged; retry logic is correct. |
| docs/concepts/models/default-model-settings.md | Updates openrouter-vision table row to new model ID and parameters; adds hosted-provider data handling warning. |
| fern/versions/v0.5.8/pages/concepts/models/default-model-settings.mdx | Mirrors the markdown doc changes in the Fern MDX page: updated model ID, parameters, and added the hosted-provider Warning block. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[health_checks.py: _check_model] --> B{model_type == embedding?}
B -- Yes --> C[facade.generate_text_embeddings]
C --> D{1 result, non-empty?}
D -- Yes --> E[return OK]
D -- No --> F[raise AssertionError with provider/model details]
B -- No --> G[attempt loop: 1..CHAT_COMPLETION_ATTEMPTS=2]
G --> H[facade.generate prompt='Say OK']
H --> I{result is non-empty str?}
I -- Yes --> E
I -- No, attempt < 2 --> J[print RETRY and loop]
J --> G
I -- No, attempt == 2 --> K[raise AssertionError with provider/model details]
Reviews (5): Last reviewed commit: "Merge branch 'main' into andreatgretel/f..." | Re-trigger Greptile
| "reasoning": {"model": "openai/gpt-oss-20b", "inference_parameters": DEFAULT_REASONING_INFERENCE_PARAMS}, | ||
| "vision": {"model": "nvidia/nemotron-nano-12b-v2-vl", "inference_parameters": DEFAULT_VISION_INFERENCE_PARAMS}, | ||
| "vision": { | ||
| "model": "nvidia/nemotron-nano-12b-v2-vl:free", |
There was a problem hiding this comment.
If we want to switch to free, we should use the nano-3-omni
There was a problem hiding this comment.
Good call. Updated openrouter-vision to use nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free instead of nvidia/nemotron-nano-12b-v2-vl:free.
I also added a hosted-provider data handling warning to the default model settings docs since this default now depends on a free hosted endpoint, and updated the docs table to match the new model ID.
|
Docs preview: https://9e5d3189.dd-docs-preview.pages.dev
|
| "vision": {"model": "nvidia/nemotron-nano-12b-v2-vl", "inference_parameters": DEFAULT_VISION_INFERENCE_PARAMS}, | ||
| "vision": { | ||
| "model": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free", | ||
| "inference_parameters": DEFAULT_VISION_INFERENCE_PARAMS, |
There was a problem hiding this comment.
we should use NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS instead.
There was a problem hiding this comment.
Good catch. Updated openrouter-vision to use NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS instead of DEFAULT_VISION_INFERENCE_PARAMS.
I also synced the docs/Fern tables and added a test assertion for the OpenRouter vision params: temperature=0.60, top_p=0.95.
Summary
Fix the scheduled provider health checks by updating the OpenRouter vision default to the currently routable nano-3 omni free model, aligning its inference parameters with the nano-3 omni config, making empty chat responses easier to diagnose, and documenting hosted-provider data handling expectations. This is separate from #626, which updates startup alias collection but does not change provider defaults.
cc @nabinchha
Changes
Changed
openrouter-visionusesnvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free.openrouter-visionwithNEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS(temperature=0.60, top_p=0.95), matching the nano-3 omni default.openrouter-visionmodel ID and matching inference parameters.Fixed
Docs
Review Feedback
NEMOTRON_3_NANO_OMNI_30B_A3B_REASONING_INFERENCE_PARAMS.nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free, the model currently committed.Testing
.venv/bin/pytest packages/data-designer-config/tests/config/test_default_model_settings.py.venv/bin/ruff check --fix packages/data-designer-config/src/data_designer/config/utils/constants.py packages/data-designer-config/tests/config/test_default_model_settings.py scripts/health_checks.py.venv/bin/ruff format packages/data-designer-config/src/data_designer/config/utils/constants.py packages/data-designer-config/tests/config/test_default_model_settings.py scripts/health_checks.pygit diff --checkenv -u NVIDIA_API_KEY -u OPENAI_API_KEY .venv/bin/python scripts/health_checks.pynvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free:4 passed, 0 failed, 8 skipped.Description updated with AI