pub enum CloudModelProvider {
OpenAI(OpenAIProvider),
Claude(ClaudeProvider),
Gemini(GeminiProvider),
Copilot(CopilotProvider),
Codex(CodexProvider),
}Expand description
Unified model provider wrapping OpenAI, Claude, Gemini, and Copilot providers.
Implements LanguageModelProvider to allow unified model listing and instantiation.
Variants§
OpenAI(OpenAIProvider)
OpenAI provider.
Claude(ClaudeProvider)
Anthropic Claude provider.
Gemini(GeminiProvider)
Google Gemini provider.
Copilot(CopilotProvider)
GitHub Copilot provider.
Codex(CodexProvider)
ChatGPT Codex provider.
Trait Implementations§
Source§impl Clone for CloudModelProvider
impl Clone for CloudModelProvider
Source§impl Debug for CloudModelProvider
impl Debug for CloudModelProvider
Source§impl From<ClaudeProvider> for CloudModelProvider
impl From<ClaudeProvider> for CloudModelProvider
Source§fn from(provider: ClaudeProvider) -> Self
fn from(provider: ClaudeProvider) -> Self
Converts to this type from the input type.
Source§impl From<CodexProvider> for CloudModelProvider
impl From<CodexProvider> for CloudModelProvider
Source§fn from(provider: CodexProvider) -> Self
fn from(provider: CodexProvider) -> Self
Converts to this type from the input type.
Source§impl From<CopilotProvider> for CloudModelProvider
impl From<CopilotProvider> for CloudModelProvider
Source§fn from(provider: CopilotProvider) -> Self
fn from(provider: CopilotProvider) -> Self
Converts to this type from the input type.
Source§impl From<GeminiProvider> for CloudModelProvider
impl From<GeminiProvider> for CloudModelProvider
Source§fn from(provider: GeminiProvider) -> Self
fn from(provider: GeminiProvider) -> Self
Converts to this type from the input type.
Source§impl From<OpenAIProvider> for CloudModelProvider
impl From<OpenAIProvider> for CloudModelProvider
Source§fn from(provider: OpenAIProvider) -> Self
fn from(provider: OpenAIProvider) -> Self
Converts to this type from the input type.
Source§impl LanguageModelProvider for CloudModelProvider
impl LanguageModelProvider for CloudModelProvider
Source§type Model = CloudProvider
type Model = CloudProvider
The type of language model this provider creates.
Source§type Error = CloudError
type Error = CloudError
The error type returned by this provider.
Source§fn list_models(
&self,
) -> impl Future<Output = Result<Vec<Profile>, Self::Error>> + Send
fn list_models( &self, ) -> impl Future<Output = Result<Vec<Profile>, Self::Error>> + Send
Lists all available models from this provider.
Source§fn get_model(
&self,
name: &str,
) -> impl Future<Output = Result<Self::Model, Self::Error>> + Send
fn get_model( &self, name: &str, ) -> impl Future<Output = Result<Self::Model, Self::Error>> + Send
Gets a specific model by name from this provider.
Source§fn profile() -> ProviderProfile
fn profile() -> ProviderProfile
Returns the provider’s profile information.
Auto Trait Implementations§
impl !RefUnwindSafe for CloudModelProvider
impl !UnwindSafe for CloudModelProvider
impl Freeze for CloudModelProvider
impl Send for CloudModelProvider
impl Sync for CloudModelProvider
impl Unpin for CloudModelProvider
impl UnsafeUnpin for CloudModelProvider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more