You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Per-model thinking configuration and budget. The Conversation feature's model form now has a Thinking / reasoning setting for every chat provider, plus a Thinking budget (tokens) field for providers whose API supports one (OpenAI-compatible servers such as llama.cpp, Gemini, Anthropic). Settings are remembered per model name, so switching the chat model from, say, Gemma (thinking on, budget 512) to Qwen (thinking off) and back restores each model's configuration automatically — the conversation itself is untouched. Each choice maps to what the provider actually understands: Ollama's reasoning field (with effort pass-through for gpt-oss), reasoning_effort and chat_template_kwargs.enable_thinking for OpenAI-compatible servers, reasoning_effort for cloud OpenAI, thinking_budget for Gemini, and extended thinking with budget_tokens for Anthropic (budget clamped and max_tokens/temperature adjusted as the API requires). Entering a budget with the select at Provider default counts as turning thinking on. Full per-provider details are in the new "Per-Model Thinking / Reasoning" section of the configuration guide. Requested by @krishgcek (#580).
Fixed
llama.cpp reasoning could not be controlled through HGA. The OpenAI-compatible provider previously sent no reasoning fields at all, so neither --reasoning on nor system-prompt instructions had any effect while the llama.cpp WebUI worked with the same model and server. HGA now sends the same per-request fields the WebUI uses. Note: a --reasoning-budget set on the server command line still overrides the per-request budget. Reported by @krishgcek (#580).
A rejected reasoning_effort no longer fails chat. A model that rejects the parameter (for example a non-reasoning cloud OpenAI model) is automatically retried without it, the same way unsupported temperature/top_p values already were.