Skip to content

Send native reasoning values per official provider - #33

Open
nvdorman wants to merge 1 commit into
enowdev:mainfrom
nvdorman:fix/official-reasoning-ladders
Open

Send native reasoning values per official provider#33
nvdorman wants to merge 1 commit into
enowdev:mainfrom
nvdorman:fix/official-reasoning-ladders

Conversation

@nvdorman

Copy link
Copy Markdown
Contributor

Summary

  • Official providers no longer share a hardcoded Off/Low/Medium/High picker. Each model advertises its own ladder and request shape (Claude adaptive + output_config.effort, Gemini thinkingLevel/thinkingBudget, OpenAI reasoning_effort, OpenRouter reasoning.effort, DeepSeek/Z.ai thinking, Grok, Groq, Ollama).
  • Custom endpoints (including CodeBuddy/sub2api-style gateways) show the full official value list: Auto, none, minimal, low, medium, high, xhigh, max. Auto omits the field. A chosen value is sent as reasoning_effort.
  • Config schema no longer validates reasoning against a four-value enum.

Test plan

  • go test ./internal/llm ./internal/config ./internal/server -skip TestLive
  • Official Anthropic 4.6: picker is low/medium/high/max; request uses thinking.type=adaptive
  • Official Grok 4.5: Off is hidden
  • Official Gemini 3.6: picker includes minimal
  • Custom endpoint (e.g. codebuddy_cn / glm-5.2): full value list; Auto sends no field
  • Official GPT-4o: picker hidden (no reasoning)

The composer no longer hard-codes Off/Low/Medium/High for every model.
Official endpoints advertise their own ladder and wire shape. Custom
endpoints offer the full official value list and send reasoning_effort.
Auto still omits the field so the provider default applies.
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.

1 participant