Repository navigation
docs(api): one documented way to turn reasoning off, on every chat model - #186
Merged
Merged
Conversation
The reference said reasoning_effort had no effect on deepseek-v4-flash and
that qwen3.8-flash / mimo-v2.6-flash could not adjust it, and /responses
did not document `reasoning` at all. A customer had to guess, used
DeepSeek's own `thinking` switch, and kept reasoning on.
Measured live on 2026-10-15 on both hosts and enforced by the proxy's
reasoning-effort hook (helmcode/nan-devops, same day):
- `reasoning_effort: "none"` (chat) / `reasoning: {"effort": "none"}`
(responses) turns reasoning off on every chat model. GLM always reasons:
there `none` is applied as `minimal`, and the docs say so.
- the other providers' switches (thinking disabled, reasoning.enabled
false, enable_thinking false, chat_template_kwargs.enable_thinking false,
top level or in extra_body) are documented as accepted aliases; the
explicit value wins.
- per-model table rewritten as the contract (mimo remaps, the vLLM
budgets and their on/off-only behaviour on Responses), cards aligned,
levels gain `xhigh`, OpenAPI overview gains a Reasoning section, the
/responses schema gains `reasoning.effort`. English and Spanish.
Tests: src/tests/lib/docsReasoning.test.ts (22, written first; 20 of them
fail on the previous docs). Full suite 2556/2556, npm run build OK, the
#controlling-reasoning / #controlar-el-razonamiento anchors exist in the
built pages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Copy-pasteable SDK examples: each builds its own client; Python extra_body fallback for older SDKs; Node for Chat Completions and Responses; TypeScript note for typed unions that lack a value; the Helmcode base URL as the alternative host. - Model card bullets use <code> instead of literal backticks (set:html) and link to the Controlling reasoning section; qwen3.6/gemma4 cards say minimal turns reasoning off, like the table. - API reference: the model catalog no longer calls gemma4 "opt-in" and qwen3.6 "opt-out"; scope is "every model in the catalogue"; document what an unlisted value does. - deepseek-v4-flash max_tokens floor applies only while reasoning is on (reasoning_effort "none" or an alias sends max_tokens as is). - Wording: "on Chat Completions and on Responses", table header "Off switch (`none`)", ES "Baja". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Validated live 2026-10-15: on api.helmcode.com deepseek-v4-flash accepts response_format json_schema (and json_object without the word JSON); on api.nan.builders json_schema is still rejected with a 400 and json_object still needs the word JSON. Card (EN+ES), examples.md (EN+ES) and the ResponseFormat description now say so per host. "Accepted" only, no strictness promise for the enterprise host. The spec refers to the enterprise base URL from the overview, keeping Helmcode out of the spec body. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
src/data/openapi.json): new Reasoning section in the overview;reasoning_efforton/chat/completionsrewritten (levels gainxhigh,noneturns reasoning off on every chat model, GLM floor stated, aliases listed);chat_template_kwargsdocumented as an alias;/responsesgainsreasoning.effort.nonedoes, what the other values do, mimo remaps, vLLM budgets and on/off-only on Responses), curl + OpenAI SDK examples for both APIs. Model cards aligned.Why
The previous reference said
reasoning_efforthad no effect ondeepseek-v4-flash(false:noneturns it off) and that qwen3.8-flash / mimo could not adjust it, and/responsesdid not documentreasoning. An enterprise customer had to guess, used DeepSeek'sthinkingswitch, and kept reasoning on. Matrix measured live 2026-10-15 on both hosts; the behaviour documented here is enforced by the proxy hook in helmcode/nan-devopsfeat/reasoning-off-contract, which must be deployed before this merges.Tests
src/tests/lib/docsReasoning.test.ts(22, written first; 20 fail on the previous docs).npm run buildOK; the#controlling-reasoningand#controlar-el-razonamientoanchors exist in the built pages.Deploy notes
Static docs; deploys on merge (Cloudflare). Merge after the devops PR is deployed and the hooks restarted.
🤖 Generated with Claude Code