pub struct GeminiModel { /* private fields */ }Available on crate features
models and gemini only.Implementations§
Source§impl GeminiModel
impl GeminiModel
pub fn new( api_key: impl Into<String>, model: impl Into<String>, ) -> Result<GeminiModel, AdkError>
pub fn with_retry_config(self, retry_config: RetryConfig) -> GeminiModel
pub fn set_retry_config(&mut self, retry_config: RetryConfig)
pub fn retry_config(&self) -> &RetryConfig
Sourcepub async fn create_cached_content(
&self,
system_instruction: &str,
tools: &HashMap<String, Value>,
ttl_seconds: u32,
) -> Result<String, AdkError>
pub async fn create_cached_content( &self, system_instruction: &str, tools: &HashMap<String, Value>, ttl_seconds: u32, ) -> Result<String, AdkError>
Create a cached content resource with the given system instruction, tools, and TTL.
Returns the cache name (e.g., “cachedContents/abc123”) on success.
The cache is created using the model configured on this GeminiModel instance.
Trait Implementations§
Source§impl CacheCapable for GeminiModel
impl CacheCapable for GeminiModel
Source§fn create_cache<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
system_instruction: &'life1 str,
tools: &'life2 HashMap<String, Value>,
ttl_seconds: u32,
) -> Pin<Box<dyn Future<Output = Result<String, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GeminiModel: 'async_trait,
fn create_cache<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
system_instruction: &'life1 str,
tools: &'life2 HashMap<String, Value>,
ttl_seconds: u32,
) -> Pin<Box<dyn Future<Output = Result<String, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
GeminiModel: 'async_trait,
Create a cached content resource from the given system instruction,
tool definitions, and TTL. Read more
Source§fn delete_cache<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GeminiModel: 'async_trait,
fn delete_cache<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
GeminiModel: 'async_trait,
Delete a previously created cached content resource by name.
Source§impl Llm for GeminiModel
impl Llm for GeminiModel
fn name(&self) -> &str
fn generate_content<'life0, 'async_trait>(
&'life0 self,
req: LlmRequest,
stream: bool,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<LlmResponse, AdkError>> + Send>>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
GeminiModel: 'async_trait,
Auto Trait Implementations§
impl Freeze for GeminiModel
impl !RefUnwindSafe for GeminiModel
impl Send for GeminiModel
impl Sync for GeminiModel
impl Unpin for GeminiModel
impl UnsafeUnpin for GeminiModel
impl !UnwindSafe for GeminiModel
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.