pub enum ThinkMode {
Default,
NoThink,
Think,
}Expand description
Thinking control (owner directive 2026-08-07: every supported model is a thinking model, one serve surface maps to each arch’s native mechanism).
Default= the template’s OWN default, byte-identical to the pre-surface render: qwen class opens<think>\n(thinking ON), gemma4 renders the CLOSED thought channel (itsenable_thinking | default(false)), hy3 rendersreasoning_effort:no_think.NoThink= thinking OFF via the arch’s native off-switch: qwenenable_thinking=false(closed<think>\n\n</think>\n\n), gemma4 closed thought channel, hy3no_think. On step35 — whose<think>tail is unconditional — it clamps to the lowest effort level instead (Reasoning: low).Think= thinking explicitly ON: qwen open<think>\n(same bytes as its default), gemma4<|think|>\ninjected into the system turn + an OPEN generation turn, hy3 an open<think:opensource>channel at the requested effort.
On templates with no switch at all the non-native direction is a graceful no-op.
Variants§
Trait Implementations§
impl Copy for ThinkMode
impl Eq for ThinkMode
impl StructuralPartialEq for ThinkMode
Auto Trait Implementations§
impl Freeze for ThinkMode
impl RefUnwindSafe for ThinkMode
impl Send for ThinkMode
impl Sync for ThinkMode
impl Unpin for ThinkMode
impl UnsafeUnpin for ThinkMode
impl UnwindSafe for ThinkMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more