| |
- 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)
| |