google.ai.generativelanguage.GenerativeServiceAsyncClient

API for using Large Models that generate multimodal content and have additional capabilities beyond text generation.

credentials Optional[google.auth.credentials.Credentials]

The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment.

transport Optional[Union[str,GenerativeServiceTransport,Callable[..., GenerativeServiceTransport]]]

The transport to use, or a Callable that constructs and returns a new transport to use. If a Callable is given, it will be called with the same set of initialization arguments as used in the GenerativeServiceTransport constructor. If set to None, a transport is chosen automatically.

client_options Optional[Union[google.api_core.client_options.ClientOptions, dict]]

Custom options for the client.

  1. The api_endpoint property can be used to override the default endpoint provided by the client when transport is not explicitly provided. Only if this property is not set and transport was not explicitly provided, the endpoint is determined by the GOOGLE_API_USE_MTLS_ENDPOINT environment variable, which have one of the following values: "always" (always use the default mTLS endpoint), "never" (always use the default regular endpoint) and "auto" (auto-switch to the default mTLS endpoint if client certificate is present; this is the default value).

  2. If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "true", then the client_cert_source property can be used to provide a client certificate for mTLS transport. If not provided, the default SSL client certificate will be used if present. If GOOGLE_API_USE_CLIENT_CERTIFICATE is "false" or not set, no client certificate will be used.

  3. The universe_domain property can be used to override the default "googleapis.com" universe. Note that api_endpoint property still takes precedence; and universe_domain is currently not supported for mTLS.

client_info google.api_core.gapic_v1.client_info.ClientInfo

The client info used to send a user-agent string along with API requests. If None, then default info will be used. Generally, you only need to set this if you're developing your own client library.

google.auth.exceptions.MutualTlsChannelError If mutual TLS transport creation failed for any reason.

api_endpoint Return the API endpoint used by the client instance.
transport Returns the transport used by the client instance.
universe_domain Return the universe domain used by the client instance.

Methods

batch_embed_contents

View source

Generates multiple embeddings from the model given input text in a synchronous call.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_batch_embed_contents():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    requests = generativelanguage_v1beta.EmbedContentRequest()
    requests.model = "model_value"

    request = generativelanguage_v1beta.BatchEmbedContentsRequest(
        model="model_value",
        requests=requests,
    )

    # Make the request
    response = await client.batch_embed_contents(request=request)

    # Handle the response
    print(response)

Args
request Optional[Union[google.ai.generativelanguage.BatchEmbedContentsRequest, dict]]

The request object. Batch request to get embeddings from
the model for a list of prompts.

model (:class:str): Required. The model's resource name. This serves as an ID for the Model to use.

This name should match a model name returned by the
``ListModels`` method.

Format: ``models/{model}``

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

requests (:class:MutableSequence[google.ai.generativelanguage.EmbedContentRequest]): Required. Embed requests for the batch. The model in each of these requests must match the model specified BatchEmbedContentsRequest.model.

This corresponds to the ``requests`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
google.ai.generativelanguage.BatchEmbedContentsResponse The response to a BatchEmbedContentsRequest.

count_tokens

View source

Runs a model's tokenizer on input content and returns the token count.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_count_tokens():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    request = generativelanguage_v1beta.CountTokensRequest(
        model="model_value",
    )

    # Make the request
    response = await client.count_tokens(request=request)

    # Handle the response
    print(response)

Args
request Optional[Union[google.ai.generativelanguage.CountTokensRequest, dict]]

The request object. Counts the number of tokens in the ``prompt`` sent to a
model.

Models may tokenize text differently, so each model may
return a different ``token_count``.

model (:class:str): Required. The model's resource name. This serves as an ID for the Model to use.

This name should match a model name returned by the
``ListModels`` method.

Format: ``models/{model}``

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

contents (:class:MutableSequence[google.ai.generativelanguage.Content]): Optional. The input given to the model as a prompt.

This corresponds to the ``contents`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
google.ai.generativelanguage.CountTokensResponse A response from CountTokens.

It returns the model's token_count for the prompt.

embed_content

View source

Generates an embedding from the model given an input Content.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_embed_content():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    request = generativelanguage_v1beta.EmbedContentRequest(
        model="model_value",
    )

    # Make the request
    response = await client.embed_content(request=request)

    # Handle the response
    print(response)

Args
request Optional[Union[google.ai.generativelanguage.EmbedContentRequest, dict]]

The request object. Request containing the ``Content`` for the model to
embed.

model (:class:str): Required. The model's resource name. This serves as an ID for the Model to use.

This name should match a model name returned by the
``ListModels`` method.

Format: ``models/{model}``

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

content (:class:google.ai.generativelanguage.Content): Required. The content to embed. Only the parts.text fields will be counted.

This corresponds to the ``content`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
google.ai.generativelanguage.EmbedContentResponse The response to an EmbedContentRequest.

from_service_account_file

View source

Creates an instance of this client using the provided credentials file.

Args
filename str

The path to the service account private key json file.

args Additional arguments to pass to the constructor.
kwargs Additional arguments to pass to the constructor.

Returns
GenerativeServiceAsyncClient The constructed client.

from_service_account_info

View source

Creates an instance of this client using the provided credentials info.

Args
info dict

The service account private key info.

args Additional arguments to pass to the constructor.
kwargs Additional arguments to pass to the constructor.

Returns
GenerativeServiceAsyncClient The constructed client.

from_service_account_json

View source

Creates an instance of this client using the provided credentials file.

Args
filename str

The path to the service account private key json file.

args Additional arguments to pass to the constructor.
kwargs Additional arguments to pass to the constructor.

Returns
GenerativeServiceAsyncClient The constructed client.

generate_answer

View source

Generates a grounded answer from the model given an input GenerateAnswerRequest.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_generate_answer():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    request = generativelanguage_v1beta.GenerateAnswerRequest(
        model="model_value",
        answer_style="VERBOSE",
    )

    # Make the request
    response = await client.generate_answer(request=request)

    # Handle the response
    print(response)

Args
request Optional[Union[google.ai.generativelanguage.GenerateAnswerRequest, dict]]

The request object. Request to generate a grounded answer
from the model.

model (:class:str): Required. The name of the Model to use for generating the grounded response.

Format: ``model=models/{model}``.

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

contents (:class:MutableSequence[google.ai.generativelanguage.Content]): Required. The content of the current conversation with the model. For single-turn queries, this is a single question to answer. For multi-turn queries, this is a repeated field that contains conversation history and the last Content in the list containing the question.

Note: GenerateAnswer currently only supports queries in
English.

This corresponds to the ``contents`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

safety_settings (:class:MutableSequence[google.ai.generativelanguage.SafetySetting]): Optional. A list of unique SafetySetting instances for blocking unsafe content.

This will be enforced on the
<a href="../../../google/ai/generativelanguage/GenerateAnswerRequest#contents"><code>GenerateAnswerRequest.contents</code></a> and
``GenerateAnswerResponse.candidate``. There should not
be more than one setting for each ``SafetyCategory``
type. The API will block any contents and responses that
fail to meet the thresholds set by these settings. This
list overrides the default settings for each
``SafetyCategory`` specified in the safety_settings. If
there is no ``SafetySetting`` for a given
``SafetyCategory`` provided in the list, the API will
use the default safety setting for that category. Harm
categories HARM_CATEGORY_HATE_SPEECH,
HARM_CATEGORY_SEXUALLY_EXPLICIT,
HARM_CATEGORY_DANGEROUS_CONTENT,
HARM_CATEGORY_HARASSMENT are supported.

This corresponds to the ``safety_settings`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

answer_style (:class:google.ai.generativelanguage.GenerateAnswerRequest.AnswerStyle): Required. Style in which answers should be returned.

This corresponds to the ``answer_style`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
google.ai.generativelanguage.GenerateAnswerResponse Response from the model for a grounded answer.

generate_content

View source

Generates a response from the model given an input GenerateContentRequest.

Input capabilities differ between models, including tuned models. See the model guide <<a href="https://ai.google.dev/models/gemini">https://ai.google.dev/models/gemini</a>>__ and tuning guide <<a href="https://ai.google.dev/docs/model_tuning_guidance">https://ai.google.dev/docs/model_tuning_guidance</a>>__ for details.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_generate_content():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    request = generativelanguage_v1beta.GenerateContentRequest(
        model="model_value",
    )

    # Make the request
    response = await client.generate_content(request=request)

    # Handle the response
    print(response)

Args
request Optional[Union[google.ai.generativelanguage.GenerateContentRequest, dict]]

The request object. Request to generate a completion from
the model.

model (:class:str): Required. The name of the Model to use for generating the completion.

Format: ``name=models/{model}``.

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

contents (:class:MutableSequence[google.ai.generativelanguage.Content]): Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.

This corresponds to the ``contents`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
google.ai.generativelanguage.GenerateContentResponse Response from the model supporting multiple candidates.

Note on safety ratings and content filtering. They are reported for both prompt in GenerateContentResponse.prompt_feedback and for each candidate in finish_reason and in safety_ratings. The API contract is that: - either all requested candidates are returned or no candidates at all - no candidates are returned only if there was something wrong with the prompt (see prompt_feedback) - feedback on each candidate is reported on finish_reason and safety_ratings.

get_mtls_endpoint_and_cert_source

View source

Return the API endpoint and client cert source for mutual TLS.

The client cert source is determined in the following order: (1) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not "true", the client cert source is None. (2) if client_options.client_cert_source is provided, use the provided one; if the default client cert source exists, use the default one; otherwise the client cert source is None.

The API endpoint is determined in the following order: (1) if client_options.api_endpoint if provided, use the provided one. (2) if GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is "always", use the default mTLS endpoint; if the environment variable is "never", use the default API endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise use the default API endpoint.

More details can be found at https://google.aip.dev/auth/4114

Args
client_options google.api_core.client_options.ClientOptions

Custom options for the client. Only the api_endpoint and client_cert_source properties may be used in this method.

Returns
Tuple[str, Callable[[], Tuple[bytes, bytes]]]: returns the API endpoint and the client cert source to use.

Raises
google.auth.exceptions.MutualTLSChannelError If any errors happen.

get_transport_class

partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords.

stream_generate_content

View source

Generates a streamed response from the model given an input GenerateContentRequest.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   <a href="https://googleapis.dev/python/google-api-core/latest/client_options.html">https://googleapis.dev/python/google-api-core/latest/client_options.html</a>
from google.ai import generativelanguage_v1beta

async def sample_stream_generate_content():
    # Create a client
    client = generativelanguage_v1beta.GenerativeServiceAsyncClient()

    # Initialize request argument(s)
    request = generativelanguage_v1beta.GenerateContentRequest(
        model="model_value",
    )

    # Make the request
    stream = await client.stream_generate_content(request=request)

    # Handle the response
    async for response in stream:
        print(response)

Args
request Optional[Union[google.ai.generativelanguage.GenerateContentRequest, dict]]

The request object. Request to generate a completion from
the model.

model (:class:str): Required. The name of the Model to use for generating the completion.

Format: ``name=models/{model}``.

This corresponds to the ``model`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

contents (:class:MutableSequence[google.ai.generativelanguage.Content]): Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.

This corresponds to the ``contents`` field
on the ``request`` instance; if ``request`` is provided, this
should not be set.

retry google.api_core.retry_async.AsyncRetry

Designation of what errors, if any, should be retried.

timeout float

The timeout for this request.

metadata Sequence[Tuple[str, str]]

Strings which should be sent along with the request as metadata.

Returns
AsyncIterable[google.ai.generativelanguage.GenerateContentResponse]: Response from the model supporting multiple candidates.

Note on safety ratings and content filtering. They are reported for both prompt in GenerateContentResponse.prompt_feedback and for each candidate in finish_reason and in safety_ratings. The API contract is that: - either all requested candidates are returned or no candidates at all - no candidates are returned only if there was something wrong with the prompt (see prompt_feedback) - feedback on each candidate is reported on finish_reason and safety_ratings.

DEFAULT_ENDPOINT 'generativelanguage.googleapis.com'
DEFAULT_MTLS_ENDPOINT 'generativelanguage.mtls.googleapis.com'