pub struct ModelRegistry { /* private fields */ }Expand description
Registry containing all available model configurations.
Implementations§
Source§impl ModelRegistry
impl ModelRegistry
Sourcepub fn load(additional_catalogs: &[String]) -> Result<Self, Error>
pub fn load(additional_catalogs: &[String]) -> Result<Self, Error>
Load the model registry with optional additional catalog files.
Merge order (later overrides earlier):
- Built-in defaults from embedded catalog
- Discovered catalogs (project, then user)
- Additional catalog files specified
Sourcepub fn get(&self, id: &ModelId) -> Option<&ModelConfig>
pub fn get(&self, id: &ModelId) -> Option<&ModelConfig>
Get a model by its ID.
Sourcepub fn by_alias(&self, alias: &str) -> Option<&ModelConfig>
pub fn by_alias(&self, alias: &str) -> Option<&ModelConfig>
Find a model by its alias.
Sourcepub fn resolve(&self, input: &str) -> Result<ModelId, Error>
pub fn resolve(&self, input: &str) -> Result<ModelId, Error>
Resolve a model string to a ModelId.
- If input contains ‘/’, treats as ‘provider/<id|alias>’ and resolves accordingly Note: model IDs may themselves contain ‘/’, so everything after the first ‘/’ is treated as the model ID or alias.
- Otherwise, looks up by alias
- Returns error if not found or invalid
pub fn recommended(&self) -> impl Iterator<Item = &ModelConfig>
Sourcepub fn all(&self) -> impl Iterator<Item = &ModelConfig>
pub fn all(&self) -> impl Iterator<Item = &ModelConfig>
Get all models in the registry
Trait Implementations§
Source§impl Clone for ModelRegistry
impl Clone for ModelRegistry
Source§fn clone(&self) -> ModelRegistry
fn clone(&self) -> ModelRegistry
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 ModelRegistry
impl RefUnwindSafe for ModelRegistry
impl Send for ModelRegistry
impl Sync for ModelRegistry
impl Unpin for ModelRegistry
impl UnwindSafe for ModelRegistry
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request