mirror of
https://github.com/turnstonelabs/turnstone.git
synced 2026-08-12 23:12:23 -06:00
feat(console): Always-on thinking-mode option in the model form
Post effort-knob rework, "Enabled" (manual) means knob-controlled — effort none turns thinking off. Operators who want the pre-#771 always-on behavior (knob never disables) previously had to hand-write thinking_mode "adaptive" into the raw capabilities JSON. The dropdown now offers all three representable modes — None / Effort-knob controlled / Always on — and the edit-load lift captures adaptive instead of relegating it to raw JSON.
This commit is contained in:
@@ -807,14 +807,15 @@ the levers live in the chat template, reached through
|
||||
`chat_template_kwargs` in the request body. Two channels, dynamic first:
|
||||
|
||||
* **Session effort knob (dynamic).** Set the model's thinking mode to
|
||||
Enabled in the admin Models form (or `thinking_mode = "manual"` +
|
||||
`thinking_param` under `[models.*.capabilities]`) and the provider
|
||||
maps the session's reasoning-effort knob onto the template toggle
|
||||
per-request: effort `none` sends `{<thinking_param>: false}`, any
|
||||
other level sends `true` — the same contract as the real lane's
|
||||
manual mode. (`thinking_mode = "adaptive"` instead always sends
|
||||
`true`: adaptive means the model self-regulates, so the knob never
|
||||
force-disables — mirroring the native adaptive branch.) Templates
|
||||
"Effort-knob controlled" in the admin Models form (or
|
||||
`thinking_mode = "manual"` + `thinking_param` under
|
||||
`[models.*.capabilities]`) and the provider maps the session's
|
||||
reasoning-effort knob onto the template toggle per-request: effort
|
||||
`none` sends `{<thinking_param>: false}`, any other level sends
|
||||
`true` — the same contract as the real lane's manual mode. ("Always
|
||||
on" / `thinking_mode = "adaptive"` instead always sends `true`: the
|
||||
model self-regulates, so the knob never force-disables — mirroring
|
||||
the native adaptive branch.) Templates
|
||||
with a graded effort key (gpt-oss-style) additionally set
|
||||
`effort_param` (e.g. `"reasoning_effort"`), plus optional
|
||||
`reasoning_effort_values` / `default_reasoning_effort` to validate
|
||||
|
||||
Reference in New Issue
Block a user