ProviderConfigs

Struct ProviderConfigs 

Source
pub struct ProviderConfigs;
Expand description

Predefined provider configurations for multiple AI services

Each provider configuration includes default models for chat and optional multimodal support. Developers can override these defaults or build custom model managers for advanced use cases.

Implementations§

Source§

impl ProviderConfigs

Source

pub fn groq() -> ProviderConfig

Source

pub fn openai() -> ProviderConfig

Source

pub fn deepseek() -> ProviderConfig

Source

pub fn ollama() -> ProviderConfig

Source

pub fn xai_grok() -> ProviderConfig

xAI / Grok configuration - OpenAI-compatible hosted offering

Source

pub fn azure_openai() -> ProviderConfig

Azure OpenAI configuration - highly compatible but often uses resource-specific base URL

Source

pub fn huggingface() -> ProviderConfig

Hugging Face Inference API - configured to reuse generic adapter; may need adjustments per model

Source

pub fn together_ai() -> ProviderConfig

Together AI - OpenAI-compatible chat API

Source

pub fn groq_as_generic() -> ProviderConfig

Groq configuration - proving OpenAI compatibility

Source

pub fn qwen() -> ProviderConfig

Qwen / Tongyi Qianwen (Alibaba Cloud) - OpenAI-compatible mode Uses DASHSCOPE_API_KEY and optional DASHSCOPE_BASE_URL to override the base URL.

Source

pub fn baidu_wenxin() -> ProviderConfig

Baidu Wenxin (ERNIE) - OpenAI compatible mode via Qianfan/Console configuration Environment variables: BAIDU_WENXIN_BASE_URL (optional), BAIDU_WENXIN_API_KEY, BAIDU_WENXIN_SECRET

Source

pub fn tencent_hunyuan() -> ProviderConfig

Tencent Hunyuan - Tencent Cloud OpenAI compatible endpoint Environment variables: TENCENT_HUNYUAN_BASE_URL (optional), TENCENT_HUNYUAN_API_KEY

Source

pub fn iflytek_spark() -> ProviderConfig

iFlytek Spark - OpenAI compatible endpoint example Environment variables: IFLYTEK_BASE_URL (optional), IFLYTEK_API_KEY

Source

pub fn moonshot() -> ProviderConfig

Moonshot (Kimi) - OpenAI compatible endpoint Environment variables: MOONSHOT_BASE_URL (optional), MOONSHOT_API_KEY

Source

pub fn anthropic() -> ProviderConfig

Anthropic Claude configuration - requires special handling

Source

pub fn openrouter() -> ProviderConfig

OpenRouter configuration

OpenRouter is a unified gateway for multiple AI models with OpenAI-compatible API. Base URL: https://openrouter.ai/api/v1 Documentation: https://openrouter.ai/docs/api-reference/overview

Source

pub fn replicate() -> ProviderConfig

Replicate configuration

Replicate provides access to various AI models with OpenAI-compatible API. Base URL: https://api.replicate.com/v1 Documentation: https://replicate.com/docs/reference/http

Source

pub fn zhipu_ai() -> ProviderConfig

智谱AI (GLM) configuration

智谱AI provides GLM series models with OpenAI-compatible API. Base URL: https://open.bigmodel.cn/api/paas/v4 Documentation: https://docs.bigmodel.cn/cn/api/introduction

Source

pub fn minimax() -> ProviderConfig

MiniMax configuration

MiniMax provides AI models with OpenAI-compatible API. Base URL: https://api.minimax.chat/v1 Documentation: https://www.minimax.io/platform/document/ChatCompletion

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,