Skip to content

fix: replace retired gpt-5 and gpt-4.1 with gpt-5.6-luna in OpenAI default models - #1141

Open
pcbeingused333 wants to merge 2 commits into
NVIDIA-NeMo:mainfrom
pcbeingused333:fix/openai-default-retired-gpt5
Open

pcbeingused333 wants to merge 2 commits into
NVIDIA-NeMo:mainfrom
pcbeingused333:fix/openai-default-retired-gpt5

Conversation

@pcbeingused333

Copy link
Copy Markdown

Fixes #1129

📋 Summary

The built-in OpenAI defaults point openai-reasoning/openai-vision at gpt-5 (retired 2026-12-11) and openai-text at gpt-4.1 (removed 2027-01-14). As agreed in #1129, all three aliases move to gpt-5.6-luna, keeping the alias names.

🔗 Related Issue

Fixes #1129

🔄 Changes

  • constants.py: PREDEFINED_PROVIDERS_MODEL_MAP[OPENAI_PROVIDER_NAME] uses gpt-5.6-luna for text, reasoning and vision.
  • New GPT5_TEXT_INFERENCE_PARAMS for openai-text: the existing temperature=0.85, top_p=0.95 plus reasoning_effort: "none"; reasoning/vision keep GPT5_INFERENCE_PARAMS (reasoning_effort: "medium").
  • test_default_model_settings.py: assertions for the new models and the text inference params.
  • default-model-settings.mdx: table updated; the "Existing configurations are preserved" note now also covers openai-* aliases that still reference gpt-5 or gpt-4.1.

🧪 Testing

  • make test passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

pytest packages/data-designer-config/tests/config/test_default_model_settings.py: 1 failure on main, 15 passed with this change. ruff check / ruff format --check clean on the touched files. Not exercised against the live OpenAI API (no key available), so the text/code, judging, image and tool-call spot checks mentioned in #1129 still need someone with access.

✅ Checklist

  • Follows commit message conventions
  • Commits are signed off (DCO)
  • If I am an external contributor, the linked issue is open and labeled triaged
  • Architecture docs updated (if applicable)

Disclosure: this change was prepared with the assistance of an AI coding agent (Claude Code) and reviewed before submission.

…fault models

Signed-off-by: Alex Castillo <alex.castillog33@gmail.com>
@pcbeingused333
pcbeingused333 requested a review from a team as a code owner November 7, 2026 14:44
@github-actions

github-actions Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

All contributors have signed the DCO ✍️ ✅
Posted by the DCO Assistant Lite bot.

@greptile-apps

greptile-apps Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The reviewed changes appear safe to merge.

Summary

Moves the three OpenAI chat aliases to gpt-5.6-luna.

  • The built-in OpenAI aliases now use gpt-5.6-luna.
  • OpenAI chat calls now send the token limit field their endpoint expects.

No actionable new issues were found. Live OpenAI behavior was not tested.

Reviews (2) · Last reviewed commit: "fix: send max_completion_tokens to the O..." · Reviewed by Greptile

@pcbeingused333

Copy link
Copy Markdown
Author

recheck

@pcbeingused333

Copy link
Copy Markdown
Author

I have read the DCO document and I hereby sign the DCO.

Comment on lines +375 to +376
"reasoning": {"model": "gpt-5.6-luna", "inference_parameters": GPT5_INFERENCE_PARAMS},
"vision": {"model": "gpt-5.6-luna", "inference_parameters": GPT5_INFERENCE_PARAMS},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I’m seeing a compatibility issue with MCP tools here: Luna returns HTTP 400 for function tools with reasoning_effort="medium" through Chat Completions. The same exchange works with GPT-5, and with Luna when reasoning is disabled. Would it make sense to revisit the interim configuration in #1129 so these aliases keep working with tools while Responses support is pending?

"text": {"model": "gpt-4.1", "inference_parameters": DEFAULT_TEXT_INFERENCE_PARAMS},
"reasoning": {"model": "gpt-5", "inference_parameters": GPT5_INFERENCE_PARAMS},
"vision": {"model": "gpt-5", "inference_parameters": GPT5_INFERENCE_PARAMS},
"text": {"model": "gpt-5.6-luna", "inference_parameters": GPT5_TEXT_INFERENCE_PARAMS},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There’s another compatibility detail with openai-text: calls that set max_tokens worked with GPT-4.1, but Luna rejects that parameter and asks for max_completion_tokens, even with reasoning disabled. It looks like DD forwards it unchanged. Translating the limit for the affected OpenAI models, with a test for an explicit token limit, would help preserve those calls.


<Note title="Existing configurations are preserved">
Upgrades do not overwrite existing configuration files. If `nvidia-text` or `nvidia-reasoning` still references a retired model, update `~/.data-designer/model_configs.yaml` manually or run `data-designer config reset` to restore the current defaults. Resetting deletes all custom configurations.
Upgrades do not overwrite existing configuration files. If `nvidia-text`, `nvidia-reasoning`, or an `openai-*` alias still references a retired model (for example `gpt-5` or `gpt-4.1`), update `~/.data-designer/model_configs.yaml` manually or run `data-designer config reset` to restore the current defaults. Resetting deletes all custom configurations.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

A small YAML example might make this migration easier. If someone changes only the model name, the saved temperature and top_p values remain, but reasoning_effort="none" is missing, which returned HTTP 400 in my check. Showing the inference parameters alongside the model would help users update without resetting their custom configs.

@andreatnvidia andreatnvidia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for updating the defaults and including the saved-config note. The live checks surfaced a couple of compatibility issues with MCP tools and explicit token limits, detailed inline. I’d like us to address those before merging. The migration example would also be helpful, though I wouldn’t hold up the change for that alone.

…migration

Newer OpenAI models reject max_tokens on Chat Completions. Translate it for
api.openai.com endpoints only, keeping max_tokens for other OpenAI-compatible
servers, and add a YAML migration example to the default model settings docs.

Signed-off-by: Alex Castillo <alex.castillog33@gmail.com>
@pcbeingused333

Copy link
Copy Markdown
Author

Thanks for the live checks. Pushed a commit on top:

  • max_tokens is now sent as max_completion_tokens on api.openai.com endpoints (other OpenAI-compatible servers keep max_tokens; an explicit max_completion_tokens in extra_body wins), with sync/async tests for an explicit token limit.
  • Added a YAML example to default-model-settings.mdx showing the inference parameters (incl. reasoning_effort) next to the model.
  • Not changed yet: the HTTP 400 for function tools with reasoning_effort="medium" on Luna via Chat Completions. Going by your check that Luna works with tools when reasoning is disabled, I'd suggest reasoning_effort: none on openai-reasoning/openai-vision as the interim until Responses support (Responses API (/v1/responses) and Vertex AI: model access for a multi-turn benchmark #1033), with a docs note that those aliases don't use reasoning for now. The catch is that openai-reasoning stops reasoning, which is why I'm asking first: if that works for you, I'll push it, and the live tool-call check would still need someone with an OpenAI key.

This reply was drafted with the help of an AI assistant (Claude Code) and the changes were not run against the live OpenAI API.

@andreatnvidia

Copy link
Copy Markdown
Contributor

Thanks for working through the updates here. We’d like to pause this briefly while we work through Responses API support in #1151. That should give us a better basis for choosing defaults that support reasoning with MCP tools.

We’ll add the keep-open label and revisit this after 1.0 is out, keeping the December 11 GPT-5 shutdown in mind.

@andreatnvidia andreatnvidia added the keep-open Prevent stale-PR auto-close label Nov 10, 2026
@andreatnvidia
andreatnvidia dismissed their stale review November 11, 2026 00:56

Clearing the changes-requested status while we pause this until after 1.0 and work through Responses API support in #1151. We’ll revisit the remaining compatibility concerns when this resumes.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

keep-open Prevent stale-PR auto-close

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Default OpenAI reasoning/vision model gpt-5 is retired on 2026-12-11

2 participants