pub struct AiModel {
pub display_name: String,
pub identifier: String,
pub provider: ModelProvider,
pub is_free: bool,
pub context_window: u32,
}Expand description
AI model metadata and configuration.
Represents a single AI model with its capabilities, pricing, and provider information. Used for model selection, validation, and UI display.
Fields§
§display_name: StringHuman-readable model name for UI display Example: “Devstral 2”, “Claude Sonnet 4.5”
identifier: StringProvider-specific model identifier Used in API requests to specify which model to use. Examples:
OpenRouter: “mistralai/devstral-2512:free”Ollama: “mistral:7b”
provider: ModelProviderAI service provider
is_free: boolWhether this model is free to use Free models have no API cost (either free tier or local execution).
context_window: u32Maximum context window size in tokens Determines how much input text the model can process.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AiModel
impl<'de> Deserialize<'de> for AiModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for AiModel
Auto Trait Implementations§
impl Freeze for AiModel
impl RefUnwindSafe for AiModel
impl Send for AiModel
impl Sync for AiModel
impl Unpin for AiModel
impl UnwindSafe for AiModel
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> FromResponse for Twhere
T: DeserializeOwned,
impl<T> FromResponse for Twhere
T: DeserializeOwned,
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