#[non_exhaustive]pub enum ReasoningConfig {
Off,
Adaptive {
effort: ReasoningEffort,
},
Manual {
budget_tokens: u32,
},
}Expand description
Resolved reasoning intent passed to providers via
LanguageModelConfig::reasoning.
Three variants — none, adaptive (qualitative effort), manual (explicit
budget). The caller resolves the user-facing “auto” mode against
the per-model ReasoningCapability before constructing this; providers
never see “auto”.
Adaptive on OpenAI / Ollama maps to the reasoning_effort string; on
Anthropic-family it maps to thinking: {type: "adaptive", effort: ...}.
Manual is Anthropic-family only — thinking: {type: "enabled", budget_tokens: N} natively, and additionalModelRequestFields.thinking
on Bedrock.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Off
Reasoning disabled. Omit the wire field (Anthropic) or send
reasoning_effort: "none" (OpenAI/Ollama) depending on the
provider’s idiom. Providers decide per-implementation.
Adaptive
Adaptive / qualitative-effort mode.
Fields
effort: ReasoningEffortManual
Manual fixed-budget mode (Anthropic-family only). budget_tokens
must satisfy the per-model manual_budget_range from
crate::capabilities::ReasoningCapability (validated upstream).
Trait Implementations§
Source§impl Clone for ReasoningConfig
impl Clone for ReasoningConfig
Source§fn clone(&self) -> ReasoningConfig
fn clone(&self) -> ReasoningConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ReasoningConfig
Source§impl Debug for ReasoningConfig
impl Debug for ReasoningConfig
impl Eq for ReasoningConfig
Source§impl PartialEq for ReasoningConfig
impl PartialEq for ReasoningConfig
impl StructuralPartialEq for ReasoningConfig
Auto Trait Implementations§
impl Freeze for ReasoningConfig
impl RefUnwindSafe for ReasoningConfig
impl Send for ReasoningConfig
impl Sync for ReasoningConfig
impl Unpin for ReasoningConfig
impl UnsafeUnpin for ReasoningConfig
impl UnwindSafe for ReasoningConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more