pub struct Client { /* private fields */ }
Expand description
A thread-safe client for interacting with Google’s Generative Language API.
§Features
- Manages authentication tokens and TLS configuration
- Provides access to generative AI operations
- Implements content caching functionality
- Supports automatic pagination of list operations
§Example
use google_ai_rs::{Client, Auth};
let auth = Auth::new("your-api-key");
let client = Client::new(auth).await?;
Implementations§
Source§impl Client
impl Client
Sourcepub async fn new(auth: Auth) -> Result<Self, Error>
pub async fn new(auth: Auth) -> Result<Self, Error>
Constructs a new client with authentication and optional configuration.
§Arguments
auth
- API authentication credentials
§Errors
Returns Error::Setup
for configuration issues or Error::Net
for connection failures.
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Create a builder for configuring client options
Sourcepub async fn update_auth(&self, new_auth: Auth)
pub async fn update_auth(&self, new_auth: Auth)
Updates authentication credentials atomically
Subsequent requests will use the new credentials immediately. This operation is thread-safe.
Sourcepub async fn create_cached_content(
&self,
content: CachedContent,
) -> Result<CachedContent, Error>
pub async fn create_cached_content( &self, content: CachedContent, ) -> Result<CachedContent, Error>
Creates a new cached content entry
§Arguments
content
- Content to cache without name (server-generated)
§Errors
Returns Error::InvalidArgument
if content contains a name
Sourcepub async fn get_cached_content(
&self,
name: &str,
) -> Result<CachedContent, Error>
pub async fn get_cached_content( &self, name: &str, ) -> Result<CachedContent, Error>
Retrieves the CachedContent
with the given name.
Sourcepub async fn delete_cached_content(&self, name: &str) -> Result<(), Error>
pub async fn delete_cached_content(&self, name: &str) -> Result<(), Error>
Deletes the CachedContent
with the given name.
Sourcepub async fn update_cached_content(
&self,
cc: &CachedContent,
) -> Result<CachedContent, Error>
pub async fn update_cached_content( &self, cc: &CachedContent, ) -> Result<CachedContent, Error>
Modifies the CachedContent
.
It returns the modified CachedContent.
The argument CachedContent must have its name field and fields to update populated.
Sourcepub fn list_cached_contents(&self) -> CachedContentIterator<'_>
pub fn list_cached_contents(&self) -> CachedContentIterator<'_>
Returns an async iterator over cached content entries
Automatically handles pagination through server-side results.
Sourcepub async fn get_model(&self, name: &str) -> Result<Model, Error>
pub async fn get_model(&self, name: &str) -> Result<Model, Error>
Gets information about a specific Model
such as its version number, token
limits, etc
Sourcepub async fn get_tuned_model(
&self,
resource_name: &str,
) -> Result<TunedModel, Error>
pub async fn get_tuned_model( &self, resource_name: &str, ) -> Result<TunedModel, Error>
Gets information about a specific TunedModel
.
Sourcepub async fn list_models(&self) -> ModelsListIterator<'_>
pub async fn list_models(&self) -> ModelsListIterator<'_>
Returns an async iterator over models list results
Automatically handles pagination through server-side results.
Sourcepub async fn list_tuned_models(&self) -> TunedModelsListIterator<'_>
pub async fn list_tuned_models(&self) -> TunedModelsListIterator<'_>
Returns an async iterator over tuned models list results
Automatically handles pagination through server-side results.
Sourcepub async fn update_tuned_model(
&self,
m: &TunedModel,
) -> Result<TunedModel, Error>
pub async fn update_tuned_model( &self, m: &TunedModel, ) -> Result<TunedModel, Error>
Updates a tuned model.
Source§impl Client
impl Client
Sourcepub fn embedding_model<'c>(&'c self, name: &str) -> Model<'c>
pub fn embedding_model<'c>(&'c self, name: &str) -> Model<'c>
Creates a new embedding model interface
Shorthand for EmbeddingModel::new()
Source§impl Client
impl Client
Sourcepub fn generative_model<'c>(&'c self, name: &str) -> GenerativeModel<'c>
pub fn generative_model<'c>(&'c self, name: &str) -> GenerativeModel<'c>
Creates a new generative model interface
Shorthand for GenerativeModel::new()
Sourcepub fn typed_model<'c, T: AsSchema>(&'c self, name: &str) -> TypedModel<'c, T>
pub fn typed_model<'c, T: AsSchema>(&'c self, name: &str) -> TypedModel<'c, T>
Creates a new typed generative model interface
Shorthand for TypedModel::new()
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request