pub struct ModelProfile {
pub model_id: String,
pub provider: String,
pub supports_tools: bool,
pub supports_streaming: bool,
pub supports_structured_output: bool,
pub max_context_tokens: Option<u64>,
pub max_output_tokens: Option<u64>,
}Expand description
Information about a model’s capabilities and metadata.
§Example
use synwire_core::language_models::registry::ModelProfile;
let profile = ModelProfile {
model_id: "gpt-4o".into(),
provider: "openai".into(),
supports_tools: true,
supports_streaming: true,
supports_structured_output: true,
max_context_tokens: Some(128_000),
max_output_tokens: Some(16_384),
};
assert!(profile.supports_tools);Fields§
§model_id: StringModel identifier (e.g., “gpt-4o”, “claude-3-opus”).
provider: StringProvider name (e.g., “openai”, “anthropic”).
supports_tools: boolWhether the model supports tool calling.
supports_streaming: boolWhether the model supports streaming.
supports_structured_output: boolWhether the model supports structured output.
max_context_tokens: Option<u64>Maximum context window size in tokens.
max_output_tokens: Option<u64>Maximum output tokens.
Trait Implementations§
Source§impl Clone for ModelProfile
impl Clone for ModelProfile
Source§fn clone(&self) -> ModelProfile
fn clone(&self) -> ModelProfile
Returns a duplicate of the value. Read more
1.0.0 · 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 ModelProfile
impl RefUnwindSafe for ModelProfile
impl Send for ModelProfile
impl Sync for ModelProfile
impl Unpin for ModelProfile
impl UnsafeUnpin for ModelProfile
impl UnwindSafe for ModelProfile
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