gen_ai_hub.proxy.native.google.clients
index
/home/jenkins/agent/workspace/ation_generative-ai-hub-sdk_main/gen_ai_hub/proxy/native/google/clients.py

 
Modules
       
contextvars
google.ai.generativelanguage_v1beta.types.generative_service
google
google.api_core.rest_streaming

 
Classes
       
google.ai.generativelanguage_v1beta.services.generative_service.transports.rest.GenerativeServiceRestInterceptor(builtins.object)
GenAIHubGenerativeServiceRestInterceptor
google.generativeai.generative_models.GenerativeModel(builtins.object)
GenerativeModel

 
class GenAIHubGenerativeServiceRestInterceptor(google.ai.generativelanguage_v1beta.services.generative_service.transports.rest.GenerativeServiceRestInterceptor)
    GenAIHubGenerativeServiceRestInterceptor(aicore_proxy_client, credentials_reference, *args, **kwargs) -> None
 
GenAIHubGenerativeServiceRestInterceptor is responsible for adding
all headers required by AI Core to the request and replace the auth
token. The interceptor is triggered on every call.
 
 
Method resolution order:
GenAIHubGenerativeServiceRestInterceptor
google.ai.generativelanguage_v1beta.services.generative_service.transports.rest.GenerativeServiceRestInterceptor
builtins.object

Methods defined here:
__init__(self, aicore_proxy_client, credentials_reference, *args, **kwargs) -> None
Initialize self.  See help(type(self)) for accurate signature.
post_stream_generate_content(self, response: google.api_core.rest_streaming.ResponseIterator) -> google.api_core.rest_streaming.ResponseIterator
Post-rpc interceptor for stream_generate_content
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
pre_generate_content(self, request: google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for generate_content
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.
pre_stream_generate_content(self, request: google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for stream_generate_content
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.

Methods inherited from google.ai.generativelanguage_v1beta.services.generative_service.transports.rest.GenerativeServiceRestInterceptor:
post_batch_embed_contents(self, response: google.ai.generativelanguage_v1beta.types.generative_service.BatchEmbedContentsResponse) -> google.ai.generativelanguage_v1beta.types.generative_service.BatchEmbedContentsResponse
Post-rpc interceptor for batch_embed_contents
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
post_count_tokens(self, response: google.ai.generativelanguage_v1beta.types.generative_service.CountTokensResponse) -> google.ai.generativelanguage_v1beta.types.generative_service.CountTokensResponse
Post-rpc interceptor for count_tokens
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
post_embed_content(self, response: google.ai.generativelanguage_v1beta.types.generative_service.EmbedContentResponse) -> google.ai.generativelanguage_v1beta.types.generative_service.EmbedContentResponse
Post-rpc interceptor for embed_content
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
post_generate_answer(self, response: google.ai.generativelanguage_v1beta.types.generative_service.GenerateAnswerResponse) -> google.ai.generativelanguage_v1beta.types.generative_service.GenerateAnswerResponse
Post-rpc interceptor for generate_answer
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
post_generate_content(self, response: google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentResponse) -> google.ai.generativelanguage_v1beta.types.generative_service.GenerateContentResponse
Post-rpc interceptor for generate_content
 
Override in a subclass to manipulate the response
after it is returned by the GenerativeService server but before
it is returned to user code.
pre_batch_embed_contents(self, request: google.ai.generativelanguage_v1beta.types.generative_service.BatchEmbedContentsRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.BatchEmbedContentsRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for batch_embed_contents
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.
pre_count_tokens(self, request: google.ai.generativelanguage_v1beta.types.generative_service.CountTokensRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.CountTokensRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for count_tokens
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.
pre_embed_content(self, request: google.ai.generativelanguage_v1beta.types.generative_service.EmbedContentRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.EmbedContentRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for embed_content
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.
pre_generate_answer(self, request: google.ai.generativelanguage_v1beta.types.generative_service.GenerateAnswerRequest, metadata: Sequence[Tuple[str, str]]) -> Tuple[google.ai.generativelanguage_v1beta.types.generative_service.GenerateAnswerRequest, Sequence[Tuple[str, str]]]
Pre-rpc interceptor for generate_answer
 
Override in a subclass to manipulate the request or metadata
before they are sent to the GenerativeService server.

Data descriptors inherited from google.ai.generativelanguage_v1beta.services.generative_service.transports.rest.GenerativeServiceRestInterceptor:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class GenerativeModel(google.generativeai.generative_models.GenerativeModel)
    GenerativeModel(model: str = '', deployment_id: str = '', model_name: str = '', config_id: str = '', config_name: str = '', proxy_client: Optional[gen_ai_hub.proxy.core.base.BaseProxyClient] = None, *args, **kwargs)
 
Drop-in replacement for google.generativeai.GenerativeModel.
 
 
Method resolution order:
GenerativeModel
google.generativeai.generative_models.GenerativeModel
builtins.object

Methods defined here:
__init__(self, model: str = '', deployment_id: str = '', model_name: str = '', config_id: str = '', config_name: str = '', proxy_client: Optional[gen_ai_hub.proxy.core.base.BaseProxyClient] = None, *args, **kwargs)
Initialize self.  See help(type(self)) for accurate signature.

Methods inherited from google.generativeai.generative_models.GenerativeModel:
__repr__ = __str__(self)
__str__(self)
Return str(self).
count_tokens(self, contents: 'content_types.ContentsType' = None, *, generation_config: 'generation_types.GenerationConfigType | None' = None, safety_settings: 'safety_types.SafetySettingOptions | None' = None, tools: 'content_types.FunctionLibraryType | None' = None, tool_config: 'content_types.ToolConfigType | None' = None, request_options: 'helper_types.RequestOptionsType | None' = None) -> 'protos.CountTokensResponse'
# fmt: off
async count_tokens_async(self, contents: 'content_types.ContentsType' = None, *, generation_config: 'generation_types.GenerationConfigType | None' = None, safety_settings: 'safety_types.SafetySettingOptions | None' = None, tools: 'content_types.FunctionLibraryType | None' = None, tool_config: 'content_types.ToolConfigType | None' = None, request_options: 'helper_types.RequestOptionsType | None' = None) -> 'protos.CountTokensResponse'
generate_content(self, contents: 'content_types.ContentsType', *, generation_config: 'generation_types.GenerationConfigType | None' = None, safety_settings: 'safety_types.SafetySettingOptions | None' = None, stream: 'bool' = False, tools: 'content_types.FunctionLibraryType | None' = None, tool_config: 'content_types.ToolConfigType | None' = None, request_options: 'helper_types.RequestOptionsType | None' = None) -> 'generation_types.GenerateContentResponse'
A multipurpose function to generate responses from the model.
 
This `GenerativeModel.generate_content` method can handle multimodal input, and multi-turn
conversations.
 
>>> model = genai.GenerativeModel('models/gemini-pro')
>>> response = model.generate_content('Tell me a story about a magic backpack')
>>> response.text
 
### Streaming
 
This method supports streaming with the `stream=True`. The result has the same type as the non streaming case,
but you can iterate over the response chunks as they become available:
 
>>> response = model.generate_content('Tell me a story about a magic backpack', stream=True)
>>> for chunk in response:
...   print(chunk.text)
 
### Multi-turn
 
This method supports multi-turn chats but is **stateless**: the entire conversation history needs to be sent with each
request. This takes some manual management but gives you complete control:
 
>>> messages = [{'role':'user', 'parts': ['hello']}]
>>> response = model.generate_content(messages) # "Hello, how can I help"
>>> messages.append(response.candidates[0].content)
>>> messages.append({'role':'user', 'parts': ['How does quantum physics work?']})
>>> response = model.generate_content(messages)
 
For a simpler multi-turn interface see `GenerativeModel.start_chat`.
 
### Input type flexibility
 
While the underlying API strictly expects a `list[protos.Content]` objects, this method
will convert the user input into the correct type. The hierarchy of types that can be
converted is below. Any of these objects can be passed as an equivalent `dict`.
 
* `Iterable[protos.Content]`
* `protos.Content`
* `Iterable[protos.Part]`
* `protos.Part`
* `str`, `Image`, or `protos.Blob`
 
In an `Iterable[protos.Content]` each `content` is a separate message.
But note that an `Iterable[protos.Part]` is taken as the parts of a single message.
 
Arguments:
    contents: The contents serving as the model's prompt.
    generation_config: Overrides for the model's generation config.
    safety_settings: Overrides for the model's safety settings.
    stream: If True, yield response chunks as they are generated.
    tools: `protos.Tools` more info coming soon.
    request_options: Options for the request.
async generate_content_async(self, contents: 'content_types.ContentsType', *, generation_config: 'generation_types.GenerationConfigType | None' = None, safety_settings: 'safety_types.SafetySettingOptions | None' = None, stream: 'bool' = False, tools: 'content_types.FunctionLibraryType | None' = None, tool_config: 'content_types.ToolConfigType | None' = None, request_options: 'helper_types.RequestOptionsType | None' = None) -> 'generation_types.AsyncGenerateContentResponse'
The async version of `GenerativeModel.generate_content`.
start_chat(self, *, history: 'Iterable[content_types.StrictContentType] | None' = None, enable_automatic_function_calling: 'bool' = False) -> 'ChatSession'
Returns a `genai.ChatSession` attached to this model.
 
>>> model = genai.GenerativeModel()
>>> chat = model.start_chat(history=[...])
>>> response = chat.send_message("Hello?")
 
Arguments:
    history: An iterable of `protos.Content` objects, or equivalents to initialize the session.

Class methods inherited from google.generativeai.generative_models.GenerativeModel:
from_cached_content(cached_content: 'str | caching.CachedContent', *, generation_config: 'generation_types.GenerationConfigType | None' = None, safety_settings: 'safety_types.SafetySettingOptions | None' = None) -> 'GenerativeModel' from builtins.type
Creates a model with `cached_content` as model's context.
 
Args:
    cached_content: context for the model.
    generation_config: Overrides for the model's generation config.
    safety_settings: Overrides for the model's safety settings.
 
Returns:
    `GenerativeModel` object with `cached_content` as its context.

Readonly properties inherited from google.generativeai.generative_models.GenerativeModel:
cached_content
model_name

Data descriptors inherited from google.generativeai.generative_models.GenerativeModel:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Functions
       
get_current_deployment() -> gen_ai_hub.proxy.gen_ai_hub_proxy.client.Deployment
set_deployment(value)
transcode(http_options, message=None, **request_kwargs)
transcode adjusts the original transcode method to remove google
API specific URL portions in a minimally intrusive way. The function
is monkey patched into the import hierarchy in the constructor of
GenerativeModel.

 
Data
        Optional = typing.Optional
Sequence = typing.Sequence
Tuple = typing.Tuple