pub struct ModelType(/* private fields */);Implementations§
Source§impl ModelType
impl ModelType
Sourcepub const COMPLETIONS: Self
pub const COMPLETIONS: Self
OpenAI Completions API - legacy (/v1/completions)
Sourcepub const EMBEDDINGS: Self
pub const EMBEDDINGS: Self
Embeddings API (/v1/embeddings)
Sourcepub const MODERATION: Self
pub const MODERATION: Self
Content moderation models
Sourcepub const VISION_LLM: Self
pub const VISION_LLM: Self
Vision-capable LLM: LLM + vision
Sourcepub const REASONING_LLM: Self
pub const REASONING_LLM: Self
Reasoning LLM: LLM + reasoning (e.g., o1, o3, DeepSeek-R1)
Sourcepub const EMBED_MODEL: Self
pub const EMBED_MODEL: Self
Embedding model only
Sourcepub const RERANK_MODEL: Self
pub const RERANK_MODEL: Self
Reranker model only
Sourcepub const IMAGE_MODEL: Self
pub const IMAGE_MODEL: Self
Image generation model only (DALL-E, Sora, gpt-image)
Sourcepub const AUDIO_MODEL: Self
pub const AUDIO_MODEL: Self
Audio model only (TTS, Whisper, realtime)
Sourcepub const MODERATION_MODEL: Self
pub const MODERATION_MODEL: Self
Content moderation model only
Source§impl ModelType
impl ModelType
Sourcepub const fn bits(&self) -> u16
pub const fn bits(&self) -> u16
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
Sourcepub const fn from_bits(bits: u16) -> Option<Self>
pub const fn from_bits(bits: u16) -> Option<Self>
Convert from a bits value.
This method will return None if any unknown bits are set.
Sourcepub const fn from_bits_truncate(bits: u16) -> Self
pub const fn from_bits_truncate(bits: u16) -> Self
Convert from a bits value, unsetting any unknown bits.
Sourcepub const fn from_bits_retain(bits: u16) -> Self
pub const fn from_bits_retain(bits: u16) -> Self
Convert from a bits value exactly.
Sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
Sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
Sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
Sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert when value is true or remove when value is false.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&) of the bits in two flags values.
Sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|) of the bits in two flags values.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^) of the bits in two flags values.
Sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!) of the bits in a flags value, truncating the result.
Source§impl ModelType
impl ModelType
Sourcepub const fn iter(&self) -> Iter<ModelType>
pub const fn iter(&self) -> Iter<ModelType>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
Sourcepub const fn iter_names(&self) -> IterNames<ModelType>
pub const fn iter_names(&self) -> IterNames<ModelType>
Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Source§impl ModelType
impl ModelType
Sourcepub fn supports_chat(&self) -> bool
pub fn supports_chat(&self) -> bool
Check if this model type supports the chat completions endpoint
Sourcepub fn supports_completions(&self) -> bool
pub fn supports_completions(&self) -> bool
Check if this model type supports the legacy completions endpoint
Sourcepub fn supports_responses(&self) -> bool
pub fn supports_responses(&self) -> bool
Check if this model type supports the responses endpoint
Sourcepub fn supports_embeddings(&self) -> bool
pub fn supports_embeddings(&self) -> bool
Check if this model type supports the embeddings endpoint
Sourcepub fn supports_rerank(&self) -> bool
pub fn supports_rerank(&self) -> bool
Check if this model type supports the rerank endpoint
Sourcepub fn supports_generate(&self) -> bool
pub fn supports_generate(&self) -> bool
Check if this model type supports the generate endpoint
Sourcepub fn supports_vision(&self) -> bool
pub fn supports_vision(&self) -> bool
Check if this model type supports vision/multimodal input
Sourcepub fn supports_tools(&self) -> bool
pub fn supports_tools(&self) -> bool
Check if this model type supports tool/function calling
Sourcepub fn supports_reasoning(&self) -> bool
pub fn supports_reasoning(&self) -> bool
Check if this model type supports reasoning/thinking
Sourcepub fn supports_image_gen(&self) -> bool
pub fn supports_image_gen(&self) -> bool
Check if this model type supports image generation
Sourcepub fn supports_audio(&self) -> bool
pub fn supports_audio(&self) -> bool
Check if this model type supports audio (TTS, Whisper, etc.)
Sourcepub fn supports_moderation(&self) -> bool
pub fn supports_moderation(&self) -> bool
Check if this model type supports content moderation
Sourcepub fn supports_endpoint(&self, endpoint: Endpoint) -> bool
pub fn supports_endpoint(&self, endpoint: Endpoint) -> bool
Check if this model type supports a given endpoint
Sourcepub fn as_capability_names(&self) -> Vec<&'static str>
pub fn as_capability_names(&self) -> Vec<&'static str>
Convert to a list of supported capability names
Sourcepub fn is_embedding_model(&self) -> bool
pub fn is_embedding_model(&self) -> bool
Check if this is an embedding model
Sourcepub fn is_reranker(&self) -> bool
pub fn is_reranker(&self) -> bool
Check if this is a reranker model
Sourcepub fn is_image_model(&self) -> bool
pub fn is_image_model(&self) -> bool
Check if this is an image generation model
Sourcepub fn is_audio_model(&self) -> bool
pub fn is_audio_model(&self) -> bool
Check if this is an audio model
Sourcepub fn is_moderation_model(&self) -> bool
pub fn is_moderation_model(&self) -> bool
Check if this is a moderation model
Trait Implementations§
Source§impl BitAndAssign for ModelType
impl BitAndAssign for ModelType
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&) of the bits in two flags values.
Source§impl BitOrAssign for ModelType
impl BitOrAssign for ModelType
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|) of the bits in two flags values.
Source§impl BitXorAssign for ModelType
impl BitXorAssign for ModelType
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
Source§impl<'de> Deserialize<'de> for ModelType
impl<'de> Deserialize<'de> for ModelType
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>,
Source§impl Extend<ModelType> for ModelType
impl Extend<ModelType> for ModelType
Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl Flags for ModelType
impl Flags for ModelType
Source§fn from_bits_retain(bits: u16) -> ModelType
fn from_bits_retain(bits: u16) -> ModelType
Source§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
Source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
Source§fn iter_defined_names() -> IterDefinedNames<Self>
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS.Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read moreSource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read moreSource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.Source§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.Source§impl FromIterator<ModelType> for ModelType
impl FromIterator<ModelType> for ModelType
Source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|) of the bits in each flags value.
Source§impl IntoIterator for ModelType
impl IntoIterator for ModelType
Source§impl Sub for ModelType
impl Sub for ModelType
Source§impl SubAssign for ModelType
impl SubAssign for ModelType
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
impl Copy for ModelType
impl Eq for ModelType
impl StructuralPartialEq for ModelType
Auto Trait Implementations§
impl Freeze for ModelType
impl RefUnwindSafe for ModelType
impl Send for ModelType
impl Sync for ModelType
impl Unpin for ModelType
impl UnwindSafe for ModelType
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§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.