ProviderClient

Trait ProviderClient 

Source
pub trait ProviderClient:
    AsCompletion
    + AsTranscription
    + AsEmbeddings
    + AsImageGeneration
    + AsAudioGeneration
    + Debug {
    // Required methods
    fn from_env() -> Self
       where Self: Sized;
    fn from_val(input: ProviderValue) -> Self
       where Self: Sized;

    // Provided methods
    fn boxed(self) -> Box<dyn ProviderClient>
       where Self: Sized + 'static { ... }
    fn from_env_boxed<'a>() -> Box<dyn ProviderClient + 'a>
       where Self: Sized + 'a { ... }
    fn from_val_boxed<'a>(input: ProviderValue) -> Box<dyn ProviderClient + 'a>
       where Self: Sized + 'a { ... }
}
Expand description

The base ProviderClient trait, facilitates conversion between client types and creating a client from the environment.

All conversion traits must be implemented, they are automatically implemented if the respective client trait is implemented.

Required Methods§

Source

fn from_env() -> Self
where Self: Sized,

Create a client from the process’s environment. Panics if an environment is improperly configured.

Source

fn from_val(input: ProviderValue) -> Self
where Self: Sized,

Provided Methods§

Source

fn boxed(self) -> Box<dyn ProviderClient>
where Self: Sized + 'static,

A helper method to box the client.

Source

fn from_env_boxed<'a>() -> Box<dyn ProviderClient + 'a>
where Self: Sized + 'a,

Create a boxed client from the process’s environment. Panics if an environment is improperly configured.

Source

fn from_val_boxed<'a>(input: ProviderValue) -> Box<dyn ProviderClient + 'a>
where Self: Sized + 'a,

Create a boxed client from the process’s environment. Panics if an environment is improperly configured.

Implementors§

Source§

impl ProviderClient for rig::providers::anthropic::client::Client

Source§

impl ProviderClient for rig::providers::azure::Client

Source§

impl ProviderClient for rig::providers::cohere::client::Client

Source§

impl ProviderClient for rig::providers::deepseek::Client

Source§

impl ProviderClient for rig::providers::galadriel::Client

Source§

impl ProviderClient for rig::providers::gemini::client::Client

Source§

impl ProviderClient for rig::providers::groq::Client

Source§

impl ProviderClient for rig::providers::huggingface::client::Client

Source§

impl ProviderClient for rig::providers::hyperbolic::Client

Source§

impl ProviderClient for rig::providers::mira::Client

Source§

impl ProviderClient for rig::providers::mistral::client::Client

Source§

impl ProviderClient for rig::providers::moonshot::Client

Source§

impl ProviderClient for rig::providers::ollama::Client

Source§

impl ProviderClient for rig::providers::openai::client::Client

Source§

impl ProviderClient for rig::providers::openrouter::client::Client

Source§

impl ProviderClient for rig::providers::perplexity::Client

Source§

impl ProviderClient for rig::providers::together::client::Client

Source§

impl ProviderClient for rig::providers::voyageai::Client

Source§

impl ProviderClient for rig::providers::xai::client::Client