Skip to content

feat(minimax): default to MiniMax-M3.1-Flash - #327

Open
Octopus (octo-patch) wants to merge 1 commit into
microsoft:mainfrom
octo-patch:octo/minimax-m31-flash
Open

Octopus (octo-patch) wants to merge 1 commit into
microsoft:mainfrom
octo-patch:octo/minimax-m31-flash

Conversation

@octo-patch

@octo-patch Octopus (octo-patch) commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Reason: MiniMax still defaults to M3, and selecting MiniMax-M3.1-Flash sends thinking: disabled with the default configuration. Flash requires adaptive thinking. Its reasoning effort is currently discarded, and tool loops drop the returned reasoning content.

This change defaults MiniMax target and optimizer calls to MiniMax-M3.1-Flash, while retaining explicit MiniMax-M3, legacy, and custom model IDs. It also prevents late provider configuration from overwriting an explicitly selected target model, forwards supported Flash effort values, and preserves reasoning_content during tool replay. The existing regional endpoints and image/tool payloads remain supported.

Validation exercises loaded train/eval configurations through the real HTTP request serializer with mocked transport, including both regions, defaults, saved/CLI models, reasoning effort, images, and tool replay. No paid inference is used.

Validation completed in a credential-free checkout-local Python 3.10 environment:

  • All 122 focused tests passed, including SpreadsheetBench and OfficeQA reasoning replay.
  • Full python -m pytest -q: 1,884 passed, 12 skipped, 368 subtests passed (8 existing runtime warnings).
  • python -m mkdocs build --strict, focused Ruff, dependency consistency, and git diff --check passed.

The first full run hit one harvest-scope test failure because shared /tmp was detected as a Git root. The same failure reproduced on unchanged upstream 1a44050fc53aa4938a7a3927b6cca550491bfe51; the full suite passed with workspace-local TMPDIR. No test or product code was changed to bypass it. Optional live/extra-dependent tests remain skipped, and no paid inference was performed.

Remote CI: run 39396788259 is action_required at head 70733b60a5c7d8b51ce6e66a4a5d0eadfaae03d6; repository authorization is needed before those checks run. The CLA check passed.

API contract: https://platform.minimax.io/docs/api-reference/text-openai-api.md

@Yif-Yang

Copy link
Copy Markdown
Contributor

Reviewed 70733b60a5c7d8b51ce6e66a4a5d0eadfaae03d6 against the captured official MiniMax API contract. The compatibility changes have concrete value: explicitly selected Flash uses adaptive thinking, supported effort values reach the request, explicit target/optimizer models survive setup, and complete reasoning survives repeated tool turns. The focused 95-test selection and 28 independent checks passed, including real train/eval setup through the HTTP serializer in both regions, mixed roles, legacy/custom IDs, image/tool payloads, and actual local tool execution. The strict docs build also passed; no paid inference was used.

The remaining scope concern is the default promotion. These checks establish request compatibility, but do not measure the quality, latency, token usage, or cost effects of replacing MiniMax-M3 with a model that always thinks. The official API still supports MiniMax-M3, and repairing explicitly selected Flash does not require changing the default.

Please retain MiniMax-M3 in the shared configuration and backend default map while keeping the protocol and model-selection fixes. A Flash default promotion can be reviewed separately with its rationale and available comparative evidence; no new paid experiment is requested for this review. This is a narrow scope request, not a claim that the protocol repair is failing or that the PR claims a measured performance gain.

Review baseline: 1a44050fc53a. The PR remains open; no merge was performed.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants