pub struct OpenAICompatibleProvider {
pub name: &'static str,
pub aliases: Vec<&'static str>,
pub default_api_url: &'static str,
pub default_model: Option<&'static str>,
pub compatible_providers: HashMap<&'static str, &'static str>,
}Expand description
OpenAICompatibleProvider - A wrapper that handles OpenAI-compatible providers This struct registers all OpenAI-compatible API providers in the registry
Fields§
§name: &'static str§aliases: Vec<&'static str>§default_api_url: &'static str§default_model: Option<&'static str>§compatible_providers: HashMap<&'static str, &'static str>Implementations§
Trait Implementations§
Source§impl Default for OpenAICompatibleProvider
impl Default for OpenAICompatibleProvider
Source§impl ProviderBuilder for OpenAICompatibleProvider
impl ProviderBuilder for OpenAICompatibleProvider
Source§fn category(&self) -> ProviderCategory
fn category(&self) -> ProviderCategory
Provider category for documentation
Source§fn create(&self, config: &Config) -> Result<Box<dyn AIProvider>>
fn create(&self, config: &Config) -> Result<Box<dyn AIProvider>>
Create a provider instance from config
Source§fn requires_api_key(&self) -> bool
fn requires_api_key(&self) -> bool
Whether this provider requires an API key
Source§fn default_model(&self) -> Option<&'static str>
fn default_model(&self) -> Option<&'static str>
Default model for this provider (if applicable)
Auto Trait Implementations§
impl Freeze for OpenAICompatibleProvider
impl RefUnwindSafe for OpenAICompatibleProvider
impl Send for OpenAICompatibleProvider
impl Sync for OpenAICompatibleProvider
impl Unpin for OpenAICompatibleProvider
impl UnwindSafe for OpenAICompatibleProvider
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> 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 moreCreates a shared type from an unshared type.