pub enum ModelRef {
Shorthand(String),
Structured {
provider: Provider,
model: ModelConfig,
speed: Option<String>,
},
}Expand description
Provider-neutral model reference.
Supports two forms:
- Shorthand: a plain string like
"gemini-2.5-flash"or"gpt-4.1" - Structured: an explicit provider + model config + optional speed hint
§Examples
use adk_managed::types::ModelRef;
// Shorthand form
let json = serde_json::json!("gemini-2.5-flash");
let model_ref: ModelRef = serde_json::from_value(json).unwrap();
// Structured form
let json = serde_json::json!({
"provider": "openai",
"model": "gpt-4.1"
});
let model_ref: ModelRef = serde_json::from_value(json).unwrap();Variants§
Shorthand(String)
A plain model name string (e.g. "gemini-2.5-flash").
Structured
A structured model reference with explicit provider.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ModelRef
impl<'de> Deserialize<'de> for ModelRef
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
Auto Trait Implementations§
impl Freeze for ModelRef
impl RefUnwindSafe for ModelRef
impl Send for ModelRef
impl Sync for ModelRef
impl Unpin for ModelRef
impl UnsafeUnpin for ModelRef
impl UnwindSafe for ModelRef
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