pub struct ModelCapabilities {
pub tool_calling: bool,
pub images: bool,
pub documents: bool,
pub video: bool,
pub audio: bool,
pub reasoning: bool,
pub audio_output: bool,
pub image_generation: bool,
pub video_generation: bool,
}Expand description
Feature flags describing what a model supports.
Defaults to all false via #[derive(Default)] — nothing is assumed.
Providers override these after inspecting the model’s actual capabilities.
Use all() for a curated “full-featured text model” preset.
Fields§
§tool_calling: boolCan invoke tools/function calling.
images: boolCan accept images as input (vision).
documents: boolCan accept documents (PDFs, etc.) as input.
video: boolCan accept video as input.
audio: boolCan accept audio as input (speech-to-text).
reasoning: boolSupports extended chain-of-thought / reasoning mode.
audio_output: boolCan generate audio output (text-to-speech inline).
image_generation: boolCan generate images as output.
video_generation: boolCan generate video as output.
Implementations§
Source§impl ModelCapabilities
impl ModelCapabilities
Sourcepub fn categories(&self) -> Vec<ModelCategory>
pub fn categories(&self) -> Vec<ModelCategory>
Derive high-level categories from capability flags.
Trait Implementations§
Source§impl Clone for ModelCapabilities
impl Clone for ModelCapabilities
impl Copy for ModelCapabilities
Source§impl Debug for ModelCapabilities
impl Debug for ModelCapabilities
Auto Trait Implementations§
impl Forget for ModelCapabilities
impl Freeze for ModelCapabilities
impl Move 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