Skip to main content

FamilyProviderFactory

Trait FamilyProviderFactory 

Source
pub trait FamilyProviderFactory {
    // Required method
    fn create_provider(
        &self,
        alias: &str,
        key: Option<&str>,
        api_url: Option<&str>,
        opts: &ModelProviderRuntimeOptions,
    ) -> Result<Box<dyn ModelProvider>>;
}
Expand description

Per-family construction trait. Implemented (directly or via the CompatFamilySpec blanket) by every typed <Family>ModelProviderConfig.

&self IS the typed alias config — implementations read their own per-alias fields directly instead of through a flat options dumping ground. api_url is the resolved endpoint URL (operator override or pre-resolved family default); key is the resolved API credential.

Required Methods§

Source

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Implementations on Foreign Types§

Source§

impl FamilyProviderFactory for AnthropicModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for AzureModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for BedrockModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for CopilotModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for CustomModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for GeminiCliModelProviderConfig

Source§

fn create_provider( &self, alias: &str, _key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for GeminiModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for GroqModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for KiloCliModelProviderConfig

Source§

fn create_provider( &self, alias: &str, _key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for LlamacppModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for LmstudioModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for MinimaxModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for ModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for OllamaModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for OpenAIModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for OpenRouterModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for OsaurusModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for OvhModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for QwenModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, api_url: Option<&str>, opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Source§

impl FamilyProviderFactory for TelnyxModelProviderConfig

Source§

fn create_provider( &self, alias: &str, key: Option<&str>, _api_url: Option<&str>, _opts: &ModelProviderRuntimeOptions, ) -> Result<Box<dyn ModelProvider>>

Implementors§