pub trait ModelProvider: Send + Sync {
// Required methods
fn resolve(
&self,
model: &ModelRef,
) -> Result<ResolvedModelConfig, ModelError>;
fn client(
&self,
resolved: &ResolvedModelConfig,
) -> Result<Arc<dyn LlmClient>, ModelError>;
// Provided method
fn default_settings(&self, _resolved: &ResolvedModelConfig) -> ModelSettings { ... }
}Required Methods§
fn resolve(&self, model: &ModelRef) -> Result<ResolvedModelConfig, ModelError>
fn client( &self, resolved: &ResolvedModelConfig, ) -> Result<Arc<dyn LlmClient>, ModelError>
Provided Methods§
fn default_settings(&self, _resolved: &ResolvedModelConfig) -> ModelSettings
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".