pub struct UnifiedLlmClient { /* private fields */ }Expand description
Unified LLM client supporting 18+ providers
Implementations§
Source§impl UnifiedLlmClient
impl UnifiedLlmClient
Sourcepub fn new(config: LlmConfig) -> Result<Self>
pub fn new(config: LlmConfig) -> Result<Self>
Create a new client with configuration
Uses pooled HTTP clients to maintain connection reuse across calls. This eliminates TLS handshake overhead (100-500ms per call).
Sourcepub fn default_anthropic() -> Result<Self>
pub fn default_anthropic() -> Result<Self>
Create with default configuration (Anthropic Claude)
Sourcepub fn openrouter(model: impl Into<String>) -> Result<Self>
pub fn openrouter(model: impl Into<String>) -> Result<Self>
Create for OpenRouter (300+ models)
Sourcepub fn perplexity(model: impl Into<String>) -> Result<Self>
pub fn perplexity(model: impl Into<String>) -> Result<Self>
Create for Perplexity
Sourcepub fn azure(
resource: impl Into<String>,
deployment: impl Into<String>,
model: impl Into<String>,
) -> Result<Self>
pub fn azure( resource: impl Into<String>, deployment: impl Into<String>, model: impl Into<String>, ) -> Result<Self>
Create for Azure OpenAI
Trait Implementations§
Source§impl LlmClient for UnifiedLlmClient
impl LlmClient for UnifiedLlmClient
Source§fn complete<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn complete<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate a completion
Source§fn provider(&self) -> LlmProvider
fn provider(&self) -> LlmProvider
Get the provider
Auto Trait Implementations§
impl Freeze for UnifiedLlmClient
impl !RefUnwindSafe for UnifiedLlmClient
impl Send for UnifiedLlmClient
impl Sync for UnifiedLlmClient
impl Unpin for UnifiedLlmClient
impl !UnwindSafe for UnifiedLlmClient
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 more