pub struct GeminiClient { /* private fields */ }Expand description
Gemini LLM client.
Implementations§
Source§impl GeminiClient
impl GeminiClient
Sourcepub fn new(config: GeminiClientConfig) -> Result<Self, LlmError>
pub fn new(config: GeminiClientConfig) -> Result<Self, LlmError>
Create a new Gemini client.
Trait Implementations§
Source§impl LlmClient for GeminiClient
impl LlmClient for GeminiClient
fn complete<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
) -> Pin<Box<dyn Future<Output = Result<String, LlmError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn complete_with_tools<'life0, 'life1, 'async_trait>(
&'life0 self,
request: LlmRequest,
tools: &'life1 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse, LlmError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn complete_with_tools<'life0, 'life1, 'async_trait>(
&'life0 self,
request: LlmRequest,
tools: &'life1 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse, LlmError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Chat with tool definitions. LLM must call one of the provided tools.
Default implementation falls back to text-only
complete.fn complete_stream<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
on_chunk: StreamChunkCallback,
) -> Pin<Box<dyn Future<Output = Result<String, LlmError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for GeminiClient
impl !UnwindSafe for GeminiClient
impl Freeze for GeminiClient
impl Send for GeminiClient
impl Sync for GeminiClient
impl Unpin for GeminiClient
impl UnsafeUnpin for GeminiClient
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