pub struct GeminiModel { /* private fields */ }Implementations§
Source§impl GeminiModel
impl GeminiModel
pub fn new(api_key: impl Into<String>, model: impl Into<String>) -> Result<Self>
pub fn with_retry_config(self, retry_config: RetryConfig) -> Self
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>
pub async fn create_cached_content( &self, system_instruction: &str, tools: &HashMap<String, Value>, ttl_seconds: u32, ) -> Result<String>
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.
Sourcepub async fn delete_cached_content(&self, name: &str) -> Result<()>
pub async fn delete_cached_content(&self, name: &str) -> Result<()>
Delete a cached content resource by name.
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>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Create a cached content resource from the given system instruction,
tool definitions, and TTL. Read more
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<LlmResponseStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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> 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::Request