pub struct ModelCapabilities {
pub supports_tools: bool,
pub supports_vision: bool,
pub supports_reasoning: ReasoningCapability,
pub max_context_tokens: Option<usize>,
}Expand description
Capability flags advertised by a model adapter.
Fields§
§supports_tools: boolModel accepts tool/function-calling requests in the chat API.
supports_vision: boolModel accepts image inputs in messages (vision-capable).
supports_reasoning: ReasoningCapabilityReasoning controls the model exposes — see ReasoningCapability.
max_context_tokens: Option<usize>Maximum context window in tokens, if known.
Implementations§
Source§impl ModelCapabilities
impl ModelCapabilities
Sourcepub fn ollama_default() -> Self
pub fn ollama_default() -> Self
Conservative defaults for an Ollama-served model. We assume tool
calling (every modern Ollama-supported model the project targets
has it), assume no vision (the safer default — vision support is
detected via response errors at runtime in loop_coordinator.rs),
and treat reasoning as binary on/off (matches the think: bool
semantics for everything except gpt-oss).
Trait Implementations§
Source§impl Clone for ModelCapabilities
impl Clone for ModelCapabilities
Source§fn clone(&self) -> ModelCapabilities
fn clone(&self) -> ModelCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ModelCapabilities
impl RefUnwindSafe for ModelCapabilities
impl Send for ModelCapabilities
impl Sync for ModelCapabilities
impl Unpin for ModelCapabilities
impl UnsafeUnpin for ModelCapabilities
impl UnwindSafe for ModelCapabilities
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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