From 0c7c18c78569c7fd59d0c1417e1408faf43f8752 Mon Sep 17 00:00:00 2001 From: Jaycee Li Date: Mon, 22 Sep 2025 17:08:09 -0700 Subject: [PATCH] chore: Remove no-op converters PiperOrigin-RevId: 810208651 --- google/genai/_common.py | 23 +- google/genai/_live_converters.py | 3789 ++++------------- google/genai/_tokens_converters.py | 439 +- google/genai/batches.py | 1158 +---- google/genai/caches.py | 886 +--- google/genai/files.py | 183 +- google/genai/live.py | 19 +- google/genai/live_music.py | 51 +- google/genai/models.py | 2185 ++-------- google/genai/operations.py | 38 +- google/genai/tests/live/test_live.py | 35 +- .../tests/live/test_send_realtime_input.py | 33 +- .../tests/live/test_send_tool_response.py | 5 +- google/genai/tests/pytest_helper.py | 16 + .../genai/tests/types/test_bytes_internal.py | 12 +- google/genai/tokens.py | 14 +- google/genai/tunings.py | 215 +- 17 files changed, 1426 insertions(+), 7675 deletions(-) diff --git a/google/genai/_common.py b/google/genai/_common.py index 75a818f8a..7fb472c33 100644 --- a/google/genai/_common.py +++ b/google/genai/_common.py @@ -21,6 +21,7 @@ import enum import functools import logging +import re import typing from typing import Any, Callable, FrozenSet, Optional, Union, get_args, get_origin import uuid @@ -142,13 +143,21 @@ def get_value_by_path(data: Any, keys: list[str]) -> Any: return data -def convert_to_dict(obj: object) -> Any: +def maybe_snake_to_camel(snake_str: str, convert: bool = True) -> str: + """Converts a snake_case string to CamelCase, if convert is True.""" + if not convert: + return snake_str + return re.sub(r'_([a-zA-Z])', lambda match: match.group(1).upper(), snake_str) + + +def convert_to_dict(obj: object, convert_keys: bool = False) -> Any: """Recursively converts a given object to a dictionary. If the object is a Pydantic model, it uses the model's `model_dump()` method. Args: obj: The object to convert. + convert_keys: Whether to convert the keys from snake case to camel case. Returns: A dictionary representation of the object, a list of objects if a list is @@ -156,11 +165,16 @@ def convert_to_dict(obj: object) -> Any: model. """ if isinstance(obj, pydantic.BaseModel): - return obj.model_dump(exclude_none=True) + return convert_to_dict(obj.model_dump(exclude_none=True), convert_keys) elif isinstance(obj, dict): - return {key: convert_to_dict(value) for key, value in obj.items()} + return { + maybe_snake_to_camel(key, convert_keys): convert_to_dict( + value, convert_keys + ) + for key, value in obj.items() + } elif isinstance(obj, list): - return [convert_to_dict(item) for item in obj] + return [convert_to_dict(item, convert_keys) for item in obj] else: return obj @@ -642,3 +656,4 @@ def recursive_dict_update( target_dict[key] = value else: target_dict[key] = value + diff --git a/google/genai/_live_converters.py b/google/genai/_live_converters.py index 27f0b0cce..6462920b1 100644 --- a/google/genai/_live_converters.py +++ b/google/genai/_live_converters.py @@ -23,3512 +23,1287 @@ from ._common import set_value_by_path as setv -def _ActivityEnd_to_mldev( +def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} + if getv(from_object, ['display_name']) is not None: + raise ValueError('display_name parameter is not supported in Gemini API.') - return to_object - + if getv(from_object, ['data']) is not None: + setv(to_object, ['data'], getv(from_object, ['data'])) -def _ActivityEnd_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) return to_object -def _ActivityStart_to_mldev( +def _Content_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} + if getv(from_object, ['parts']) is not None: + setv( + to_object, + ['parts'], + [ + _Part_to_mldev(item, to_object) + for item in getv(from_object, ['parts']) + ], + ) + + if getv(from_object, ['role']) is not None: + setv(to_object, ['role'], getv(from_object, ['role'])) return to_object -def _ActivityStart_to_vertex( +def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} + if getv(from_object, ['display_name']) is not None: + raise ValueError('display_name parameter is not supported in Gemini API.') - return to_object - + if getv(from_object, ['file_uri']) is not None: + setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) -def _ApiKeyConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_string']) is not None: - setv(to_object, ['apiKeyString'], getv(from_object, ['api_key_string'])) + if getv(from_object, ['mime_type']) is not None: + setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) return to_object -def _AudioChunk_from_mldev( +def _FunctionDeclaration_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) + if getv(from_object, ['behavior']) is not None: + raise ValueError('behavior parameter is not supported in Vertex AI.') + + if getv(from_object, ['description']) is not None: + setv(to_object, ['description'], getv(from_object, ['description'])) + + if getv(from_object, ['name']) is not None: + setv(to_object, ['name'], getv(from_object, ['name'])) - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) + if getv(from_object, ['parameters']) is not None: + setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - if getv(from_object, ['sourceMetadata']) is not None: + if getv(from_object, ['parameters_json_schema']) is not None: setv( to_object, - ['source_metadata'], - _LiveMusicSourceMetadata_from_mldev( - getv(from_object, ['sourceMetadata']), to_object - ), + ['parametersJsonSchema'], + getv(from_object, ['parameters_json_schema']), ) - return to_object - - -def _AudioTranscriptionConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - + if getv(from_object, ['response']) is not None: + setv(to_object, ['response'], getv(from_object, ['response'])) -def _AudioTranscriptionConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['response_json_schema']) is not None: + setv( + to_object, + ['responseJsonSchema'], + getv(from_object, ['response_json_schema']), + ) return to_object -def _AuthConfig_to_vertex( +def _GenerationConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_config']) is not None: + if getv(from_object, ['model_selection_config']) is not None: setv( to_object, - ['apiKeyConfig'], - _ApiKeyConfig_to_vertex( - getv(from_object, ['api_key_config']), to_object - ), + ['modelConfig'], + getv(from_object, ['model_selection_config']), ) - if getv(from_object, ['auth_type']) is not None: - setv(to_object, ['authType'], getv(from_object, ['auth_type'])) + if getv(from_object, ['audio_timestamp']) is not None: + setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) + + if getv(from_object, ['candidate_count']) is not None: + setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) - if getv(from_object, ['google_service_account_config']) is not None: + if getv(from_object, ['enable_affective_dialog']) is not None: setv( to_object, - ['googleServiceAccountConfig'], - getv(from_object, ['google_service_account_config']), + ['enableAffectiveDialog'], + getv(from_object, ['enable_affective_dialog']), ) - if getv(from_object, ['http_basic_auth_config']) is not None: + if getv(from_object, ['frequency_penalty']) is not None: setv( to_object, - ['httpBasicAuthConfig'], - getv(from_object, ['http_basic_auth_config']), + ['frequencyPenalty'], + getv(from_object, ['frequency_penalty']), ) - if getv(from_object, ['oauth_config']) is not None: - setv(to_object, ['oauthConfig'], getv(from_object, ['oauth_config'])) - - if getv(from_object, ['oidc_config']) is not None: - setv(to_object, ['oidcConfig'], getv(from_object, ['oidc_config'])) - - return to_object - - -def _AutomaticActivityDetection_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['disabled']) is not None: - setv(to_object, ['disabled'], getv(from_object, ['disabled'])) + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) - if getv(from_object, ['start_of_speech_sensitivity']) is not None: + if getv(from_object, ['max_output_tokens']) is not None: setv( - to_object, - ['startOfSpeechSensitivity'], - getv(from_object, ['start_of_speech_sensitivity']), + to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) ) - if getv(from_object, ['end_of_speech_sensitivity']) is not None: + if getv(from_object, ['media_resolution']) is not None: setv( - to_object, - ['endOfSpeechSensitivity'], - getv(from_object, ['end_of_speech_sensitivity']), + to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) ) - if getv(from_object, ['prefix_padding_ms']) is not None: + if getv(from_object, ['presence_penalty']) is not None: setv( - to_object, ['prefixPaddingMs'], getv(from_object, ['prefix_padding_ms']) + to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) ) - if getv(from_object, ['silence_duration_ms']) is not None: + if getv(from_object, ['response_json_schema']) is not None: setv( to_object, - ['silenceDurationMs'], - getv(from_object, ['silence_duration_ms']), + ['responseJsonSchema'], + getv(from_object, ['response_json_schema']), ) - return to_object - - -def _AutomaticActivityDetection_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['disabled']) is not None: - setv(to_object, ['disabled'], getv(from_object, ['disabled'])) - - if getv(from_object, ['start_of_speech_sensitivity']) is not None: + if getv(from_object, ['response_logprobs']) is not None: setv( to_object, - ['startOfSpeechSensitivity'], - getv(from_object, ['start_of_speech_sensitivity']), + ['responseLogprobs'], + getv(from_object, ['response_logprobs']), ) - if getv(from_object, ['end_of_speech_sensitivity']) is not None: + if getv(from_object, ['response_mime_type']) is not None: setv( to_object, - ['endOfSpeechSensitivity'], - getv(from_object, ['end_of_speech_sensitivity']), + ['responseMimeType'], + getv(from_object, ['response_mime_type']), ) - if getv(from_object, ['prefix_padding_ms']) is not None: + if getv(from_object, ['response_modalities']) is not None: setv( - to_object, ['prefixPaddingMs'], getv(from_object, ['prefix_padding_ms']) + to_object, + ['responseModalities'], + getv(from_object, ['response_modalities']), ) - if getv(from_object, ['silence_duration_ms']) is not None: + if getv(from_object, ['response_schema']) is not None: + setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) + + if getv(from_object, ['routing_config']) is not None: + setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['speech_config']) is not None: setv( to_object, - ['silenceDurationMs'], - getv(from_object, ['silence_duration_ms']), + ['speechConfig'], + _SpeechConfig_to_vertex( + getv(from_object, ['speech_config']), to_object + ), ) - return to_object + if getv(from_object, ['stop_sequences']) is not None: + setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) -def _Blob_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['thinking_config']) is not None: + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) + if getv(from_object, ['top_k']) is not None: + setv(to_object, ['topK'], getv(from_object, ['top_k'])) - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) + if getv(from_object, ['top_p']) is not None: + setv(to_object, ['topP'], getv(from_object, ['top_p'])) return to_object -def _Blob_from_vertex( +def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) + if getv(from_object, ['time_range_filter']) is not None: + setv( + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) + ) - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) + if getv(from_object, ['exclude_domains']) is not None: + raise ValueError( + 'exclude_domains parameter is not supported in Gemini API.' + ) return to_object -def _Blob_to_mldev( +def _LiveClientContent_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - raise ValueError('display_name parameter is not supported in Gemini API.') - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) + if getv(from_object, ['turns']) is not None: + setv( + to_object, + ['turns'], + [ + _Content_to_mldev(item, to_object) + for item in getv(from_object, ['turns']) + ], + ) - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + if getv(from_object, ['turn_complete']) is not None: + setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) return to_object -def _Blob_to_vertex( +def _LiveClientMessage_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) + if getv(from_object, ['setup']) is not None: + setv( + to_object, + ['setup'], + _LiveClientSetup_to_mldev( + api_client, getv(from_object, ['setup']), to_object + ), + ) - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) + if getv(from_object, ['client_content']) is not None: + setv( + to_object, + ['clientContent'], + _LiveClientContent_to_mldev( + getv(from_object, ['client_content']), to_object + ), + ) - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) + if getv(from_object, ['realtime_input']) is not None: + setv( + to_object, + ['realtimeInput'], + _LiveClientRealtimeInput_to_mldev( + getv(from_object, ['realtime_input']), to_object + ), + ) + + if getv(from_object, ['tool_response']) is not None: + setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) return to_object -def _Content_from_mldev( +def _LiveClientMessage_to_vertex( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: + if getv(from_object, ['setup']) is not None: setv( to_object, - ['parts'], - [ - _Part_from_mldev(item, to_object) - for item in getv(from_object, ['parts']) - ], + ['setup'], + _LiveClientSetup_to_vertex( + api_client, getv(from_object, ['setup']), to_object + ), ) - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) + if getv(from_object, ['client_content']) is not None: + setv(to_object, ['clientContent'], getv(from_object, ['client_content'])) + + if getv(from_object, ['realtime_input']) is not None: + setv( + to_object, + ['realtimeInput'], + _LiveClientRealtimeInput_to_vertex( + getv(from_object, ['realtime_input']), to_object + ), + ) + + if getv(from_object, ['tool_response']) is not None: + setv(to_object, ['toolResponse'], getv(from_object, ['tool_response'])) return to_object -def _Content_from_vertex( +def _LiveClientRealtimeInput_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: + if getv(from_object, ['media_chunks']) is not None: setv( to_object, - ['parts'], + ['mediaChunks'], [ - _Part_from_vertex(item, to_object) - for item in getv(from_object, ['parts']) + _Blob_to_mldev(item, to_object) + for item in getv(from_object, ['media_chunks']) ], ) - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object + if getv(from_object, ['audio']) is not None: + setv( + to_object, + ['audio'], + _Blob_to_mldev(getv(from_object, ['audio']), to_object), + ) + if getv(from_object, ['audio_stream_end']) is not None: + setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) -def _Content_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: + if getv(from_object, ['video']) is not None: setv( to_object, - ['parts'], - [ - _Part_to_mldev(item, to_object) - for item in getv(from_object, ['parts']) - ], + ['video'], + _Blob_to_mldev(getv(from_object, ['video']), to_object), ) - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) return to_object -def _Content_to_vertex( +def _LiveClientRealtimeInput_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object - - -def _ContextWindowCompressionConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['trigger_tokens']) is not None: - setv(to_object, ['triggerTokens'], getv(from_object, ['trigger_tokens'])) - - if getv(from_object, ['sliding_window']) is not None: - setv( - to_object, - ['slidingWindow'], - _SlidingWindow_to_mldev( - getv(from_object, ['sliding_window']), to_object - ), - ) - - return to_object - - -def _ContextWindowCompressionConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['trigger_tokens']) is not None: - setv(to_object, ['triggerTokens'], getv(from_object, ['trigger_tokens'])) - - if getv(from_object, ['sliding_window']) is not None: - setv( - to_object, - ['slidingWindow'], - _SlidingWindow_to_vertex( - getv(from_object, ['sliding_window']), to_object - ), - ) - - return to_object - - -def _DynamicRetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - -def _DynamicRetrievalConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - -def _EnterpriseWebSearch_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) - - return to_object - - -def _FileData_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['fileUri']) is not None: - setv(to_object, ['file_uri'], getv(from_object, ['fileUri'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _FileData_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['fileUri']) is not None: - setv(to_object, ['file_uri'], getv(from_object, ['fileUri'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _FileData_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - raise ValueError('display_name parameter is not supported in Gemini API.') - - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FileData_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FunctionCall_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionDeclaration_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - setv(to_object, ['behavior'], getv(from_object, ['behavior'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - -def _FunctionDeclaration_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - raise ValueError('behavior parameter is not supported in Vertex AI.') - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - -def _FunctionResponseBlob_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - return to_object - - -def _FunctionResponseBlob_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - return to_object - - -def _FunctionResponseFileData_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FunctionResponseFileData_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FunctionResponsePart_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _FunctionResponseBlob_to_mldev( - getv(from_object, ['inline_data']), to_object - ), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FunctionResponseFileData_to_mldev( - getv(from_object, ['file_data']), to_object - ), - ) - - return to_object - - -def _FunctionResponsePart_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _FunctionResponseBlob_to_vertex( - getv(from_object, ['inline_data']), to_object - ), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FunctionResponseFileData_to_vertex( - getv(from_object, ['file_data']), to_object - ), - ) - - return to_object - - -def _FunctionResponse_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['will_continue']) is not None: - setv(to_object, ['willContinue'], getv(from_object, ['will_continue'])) - - if getv(from_object, ['scheduling']) is not None: - setv(to_object, ['scheduling'], getv(from_object, ['scheduling'])) - - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _FunctionResponsePart_to_mldev(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - return to_object - - -def _FunctionResponse_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['will_continue']) is not None: - raise ValueError('will_continue parameter is not supported in Vertex AI.') - - if getv(from_object, ['scheduling']) is not None: - raise ValueError('scheduling parameter is not supported in Vertex AI.') - - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _FunctionResponsePart_to_vertex(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - return to_object - - -def _GoogleMaps_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['auth_config']) is not None: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_vertex(getv(from_object, ['auth_config']), to_object), - ) - - return to_object - - -def _GoogleSearchRetrieval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_mldev( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - -def _GoogleSearchRetrieval_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_vertex( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - -def _GoogleSearch_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, - ['timeRangeFilter'], - _Interval_to_mldev(getv(from_object, ['time_range_filter']), to_object), - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is not supported in Gemini API.' - ) - - return to_object - - -def _GoogleSearch_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, - ['timeRangeFilter'], - _Interval_to_vertex( - getv(from_object, ['time_range_filter']), to_object - ), - ) - - if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) - - return to_object - - -def _Interval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _Interval_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _LiveClientContent_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['turns']) is not None: - setv( - to_object, - ['turns'], - [ - _Content_to_mldev(item, to_object) - for item in getv(from_object, ['turns']) - ], - ) - - if getv(from_object, ['turn_complete']) is not None: - setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) - - return to_object - - -def _LiveClientContent_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['turns']) is not None: - setv( - to_object, - ['turns'], - [ - _Content_to_vertex(item, to_object) - for item in getv(from_object, ['turns']) - ], - ) - - if getv(from_object, ['turn_complete']) is not None: - setv(to_object, ['turnComplete'], getv(from_object, ['turn_complete'])) - - return to_object - - -def _LiveClientMessage_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setup']) is not None: - setv( - to_object, - ['setup'], - _LiveClientSetup_to_mldev( - api_client, getv(from_object, ['setup']), to_object - ), - ) - - if getv(from_object, ['client_content']) is not None: - setv( - to_object, - ['clientContent'], - _LiveClientContent_to_mldev( - getv(from_object, ['client_content']), to_object - ), - ) - - if getv(from_object, ['realtime_input']) is not None: - setv( - to_object, - ['realtimeInput'], - _LiveClientRealtimeInput_to_mldev( - getv(from_object, ['realtime_input']), to_object - ), - ) - - if getv(from_object, ['tool_response']) is not None: - setv( - to_object, - ['toolResponse'], - _LiveClientToolResponse_to_mldev( - getv(from_object, ['tool_response']), to_object - ), - ) - - return to_object - - -def _LiveClientMessage_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setup']) is not None: - setv( - to_object, - ['setup'], - _LiveClientSetup_to_vertex( - api_client, getv(from_object, ['setup']), to_object - ), - ) - - if getv(from_object, ['client_content']) is not None: - setv( - to_object, - ['clientContent'], - _LiveClientContent_to_vertex( - getv(from_object, ['client_content']), to_object - ), - ) - - if getv(from_object, ['realtime_input']) is not None: - setv( - to_object, - ['realtimeInput'], - _LiveClientRealtimeInput_to_vertex( - getv(from_object, ['realtime_input']), to_object - ), - ) - - if getv(from_object, ['tool_response']) is not None: - setv( - to_object, - ['toolResponse'], - _LiveClientToolResponse_to_vertex( - getv(from_object, ['tool_response']), to_object - ), - ) - - return to_object - - -def _LiveClientRealtimeInput_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['media_chunks']) is not None: - setv(to_object, ['mediaChunks'], getv(from_object, ['media_chunks'])) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], getv(from_object, ['audio'])) - - if getv(from_object, ['audio_stream_end']) is not None: - setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], getv(from_object, ['video'])) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv( - to_object, - ['activityStart'], - _ActivityStart_to_mldev( - getv(from_object, ['activity_start']), to_object - ), - ) - - if getv(from_object, ['activity_end']) is not None: - setv( - to_object, - ['activityEnd'], - _ActivityEnd_to_mldev(getv(from_object, ['activity_end']), to_object), - ) - - return to_object - - -def _LiveClientRealtimeInput_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['media_chunks']) is not None: - setv(to_object, ['mediaChunks'], getv(from_object, ['media_chunks'])) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], getv(from_object, ['audio'])) - - if getv(from_object, ['audio_stream_end']) is not None: - raise ValueError( - 'audio_stream_end parameter is not supported in Vertex AI.' - ) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], getv(from_object, ['video'])) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv( - to_object, - ['activityStart'], - _ActivityStart_to_vertex( - getv(from_object, ['activity_start']), to_object - ), - ) - - if getv(from_object, ['activity_end']) is not None: - setv( - to_object, - ['activityEnd'], - _ActivityEnd_to_vertex(getv(from_object, ['activity_end']), to_object), - ) - - return to_object - - -def _LiveClientSetup_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['generation_config']) is not None: - setv( - to_object, - ['generationConfig'], - getv(from_object, ['generation_config']), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - to_object, - ['systemInstruction'], - _Content_to_mldev( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - to_object, - ['tools'], - [ - _Tool_to_mldev(t.t_tool(api_client, item), to_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['session_resumption']) is not None: - setv( - to_object, - ['sessionResumption'], - _SessionResumptionConfig_to_mldev( - getv(from_object, ['session_resumption']), to_object - ), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - to_object, - ['contextWindowCompression'], - _ContextWindowCompressionConfig_to_mldev( - getv(from_object, ['context_window_compression']), to_object - ), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - to_object, - ['inputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['input_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - to_object, - ['outputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['output_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['proactivity']) is not None: - setv( - to_object, - ['proactivity'], - _ProactivityConfig_to_mldev( - getv(from_object, ['proactivity']), to_object - ), - ) - - return to_object - - -def _LiveClientSetup_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['generation_config']) is not None: - setv( - to_object, - ['generationConfig'], - getv(from_object, ['generation_config']), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - to_object, - ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - to_object, - ['tools'], - [ - _Tool_to_vertex(t.t_tool(api_client, item), to_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['session_resumption']) is not None: - setv( - to_object, - ['sessionResumption'], - _SessionResumptionConfig_to_vertex( - getv(from_object, ['session_resumption']), to_object - ), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - to_object, - ['contextWindowCompression'], - _ContextWindowCompressionConfig_to_vertex( - getv(from_object, ['context_window_compression']), to_object - ), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - to_object, - ['inputAudioTranscription'], - _AudioTranscriptionConfig_to_vertex( - getv(from_object, ['input_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - to_object, - ['outputAudioTranscription'], - _AudioTranscriptionConfig_to_vertex( - getv(from_object, ['output_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['proactivity']) is not None: - setv( - to_object, - ['proactivity'], - _ProactivityConfig_to_vertex( - getv(from_object, ['proactivity']), to_object - ), - ) - - return to_object - - -def _LiveClientToolResponse_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['function_responses']) is not None: - setv( - to_object, - ['functionResponses'], - [ - _FunctionResponse_to_mldev(item, to_object) - for item in getv(from_object, ['function_responses']) - ], - ) - - return to_object - - -def _LiveClientToolResponse_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['function_responses']) is not None: - setv( - to_object, - ['functionResponses'], - [ - _FunctionResponse_to_vertex(item, to_object) - for item in getv(from_object, ['function_responses']) - ], - ) - - return to_object - - -def _LiveConnectConfig_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['generation_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig'], - getv(from_object, ['generation_config']), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['temperature']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'temperature'], - getv(from_object, ['temperature']), - ) - - if getv(from_object, ['top_p']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'topP'], - getv(from_object, ['top_p']), - ) - - if getv(from_object, ['top_k']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'topK'], - getv(from_object, ['top_k']), - ) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'maxOutputTokens'], - getv(from_object, ['max_output_tokens']), - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'mediaResolution'], - getv(from_object, ['media_resolution']), - ) - - if getv(from_object, ['seed']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'seed'], - getv(from_object, ['seed']), - ) - - if getv(from_object, ['speech_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'speechConfig'], - _SpeechConfig_to_mldev( - t.t_live_speech_config(getv(from_object, ['speech_config'])), - to_object, - ), - ) - - if getv(from_object, ['enable_affective_dialog']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'enableAffectiveDialog'], - getv(from_object, ['enable_affective_dialog']), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['setup', 'systemInstruction'], - _Content_to_mldev( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['setup', 'tools'], - [ - _Tool_to_mldev(t.t_tool(api_client, item), to_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['session_resumption']) is not None: - setv( - parent_object, - ['setup', 'sessionResumption'], - _SessionResumptionConfig_to_mldev( - getv(from_object, ['session_resumption']), to_object - ), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - parent_object, - ['setup', 'inputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['input_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - parent_object, - ['setup', 'outputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['output_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['realtime_input_config']) is not None: - setv( - parent_object, - ['setup', 'realtimeInputConfig'], - _RealtimeInputConfig_to_mldev( - getv(from_object, ['realtime_input_config']), to_object - ), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - parent_object, - ['setup', 'contextWindowCompression'], - _ContextWindowCompressionConfig_to_mldev( - getv(from_object, ['context_window_compression']), to_object - ), - ) - - if getv(from_object, ['proactivity']) is not None: - setv( - parent_object, - ['setup', 'proactivity'], - _ProactivityConfig_to_mldev( - getv(from_object, ['proactivity']), to_object - ), - ) - - return to_object - - -def _LiveConnectConfig_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['generation_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig'], - getv(from_object, ['generation_config']), - ) - - if getv(from_object, ['response_modalities']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'responseModalities'], - getv(from_object, ['response_modalities']), - ) - - if getv(from_object, ['temperature']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'temperature'], - getv(from_object, ['temperature']), - ) - - if getv(from_object, ['top_p']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'topP'], - getv(from_object, ['top_p']), - ) - - if getv(from_object, ['top_k']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'topK'], - getv(from_object, ['top_k']), - ) - - if getv(from_object, ['max_output_tokens']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'maxOutputTokens'], - getv(from_object, ['max_output_tokens']), - ) - - if getv(from_object, ['media_resolution']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'mediaResolution'], - getv(from_object, ['media_resolution']), - ) - - if getv(from_object, ['seed']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'seed'], - getv(from_object, ['seed']), - ) - - if getv(from_object, ['speech_config']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'speechConfig'], - _SpeechConfig_to_vertex( - t.t_live_speech_config(getv(from_object, ['speech_config'])), - to_object, - ), - ) - - if getv(from_object, ['enable_affective_dialog']) is not None: - setv( - parent_object, - ['setup', 'generationConfig', 'enableAffectiveDialog'], - getv(from_object, ['enable_affective_dialog']), - ) - - if getv(from_object, ['system_instruction']) is not None: - setv( - parent_object, - ['setup', 'systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), - ) - - if getv(from_object, ['tools']) is not None: - setv( - parent_object, - ['setup', 'tools'], - [ - _Tool_to_vertex(t.t_tool(api_client, item), to_object) - for item in t.t_tools(api_client, getv(from_object, ['tools'])) - ], - ) - - if getv(from_object, ['session_resumption']) is not None: - setv( - parent_object, - ['setup', 'sessionResumption'], - _SessionResumptionConfig_to_vertex( - getv(from_object, ['session_resumption']), to_object - ), - ) - - if getv(from_object, ['input_audio_transcription']) is not None: - setv( - parent_object, - ['setup', 'inputAudioTranscription'], - _AudioTranscriptionConfig_to_vertex( - getv(from_object, ['input_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['output_audio_transcription']) is not None: - setv( - parent_object, - ['setup', 'outputAudioTranscription'], - _AudioTranscriptionConfig_to_vertex( - getv(from_object, ['output_audio_transcription']), to_object - ), - ) - - if getv(from_object, ['realtime_input_config']) is not None: - setv( - parent_object, - ['setup', 'realtimeInputConfig'], - _RealtimeInputConfig_to_vertex( - getv(from_object, ['realtime_input_config']), to_object - ), - ) - - if getv(from_object, ['context_window_compression']) is not None: - setv( - parent_object, - ['setup', 'contextWindowCompression'], - _ContextWindowCompressionConfig_to_vertex( - getv(from_object, ['context_window_compression']), to_object - ), - ) - - if getv(from_object, ['proactivity']) is not None: - setv( - parent_object, - ['setup', 'proactivity'], - _ProactivityConfig_to_vertex( - getv(from_object, ['proactivity']), to_object - ), - ) - - return to_object - - -def _LiveConnectParameters_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['setup', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['config'], - _LiveConnectConfig_to_mldev( - api_client, getv(from_object, ['config']), to_object - ), - ) - - return to_object - - -def _LiveConnectParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['setup', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['config'], - _LiveConnectConfig_to_vertex( - api_client, getv(from_object, ['config']), to_object - ), - ) - - return to_object - - -def _LiveMusicClientContent_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weightedPrompts']) is not None: - setv( - to_object, - ['weighted_prompts'], - [ - _WeightedPrompt_from_mldev(item, to_object) - for item in getv(from_object, ['weightedPrompts']) - ], - ) - - return to_object - - -def _LiveMusicClientContent_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weighted_prompts']) is not None: - setv( - to_object, - ['weightedPrompts'], - [ - _WeightedPrompt_to_mldev(item, to_object) - for item in getv(from_object, ['weighted_prompts']) - ], - ) - - return to_object - - -def _LiveMusicClientMessage_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setup']) is not None: - setv( - to_object, - ['setup'], - _LiveMusicClientSetup_to_mldev(getv(from_object, ['setup']), to_object), - ) - - if getv(from_object, ['client_content']) is not None: - setv( - to_object, - ['clientContent'], - _LiveMusicClientContent_to_mldev( - getv(from_object, ['client_content']), to_object - ), - ) - - if getv(from_object, ['music_generation_config']) is not None: - setv( - to_object, - ['musicGenerationConfig'], - _LiveMusicGenerationConfig_to_mldev( - getv(from_object, ['music_generation_config']), to_object - ), - ) - - if getv(from_object, ['playback_control']) is not None: - setv( - to_object, ['playbackControl'], getv(from_object, ['playback_control']) - ) - - return to_object - - -def _LiveMusicClientMessage_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setup']) is not None: - raise ValueError('setup parameter is not supported in Vertex AI.') - - if getv(from_object, ['client_content']) is not None: - raise ValueError('client_content parameter is not supported in Vertex AI.') - - if getv(from_object, ['music_generation_config']) is not None: - raise ValueError( - 'music_generation_config parameter is not supported in Vertex AI.' - ) - - if getv(from_object, ['playback_control']) is not None: - raise ValueError( - 'playback_control parameter is not supported in Vertex AI.' - ) - - return to_object - - -def _LiveMusicClientSetup_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - return to_object - - -def _LiveMusicConnectParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv(to_object, ['setup', 'model'], getv(from_object, ['model'])) - - return to_object - - -def _LiveMusicConnectParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - raise ValueError('model parameter is not supported in Vertex AI.') - - return to_object - - -def _LiveMusicFilteredPrompt_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['filteredReason']) is not None: - setv(to_object, ['filtered_reason'], getv(from_object, ['filteredReason'])) - - return to_object - - -def _LiveMusicGenerationConfig_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['topK']) is not None: - setv(to_object, ['top_k'], getv(from_object, ['topK'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['guidance']) is not None: - setv(to_object, ['guidance'], getv(from_object, ['guidance'])) - - if getv(from_object, ['bpm']) is not None: - setv(to_object, ['bpm'], getv(from_object, ['bpm'])) - - if getv(from_object, ['density']) is not None: - setv(to_object, ['density'], getv(from_object, ['density'])) - - if getv(from_object, ['brightness']) is not None: - setv(to_object, ['brightness'], getv(from_object, ['brightness'])) - - if getv(from_object, ['scale']) is not None: - setv(to_object, ['scale'], getv(from_object, ['scale'])) - - if getv(from_object, ['muteBass']) is not None: - setv(to_object, ['mute_bass'], getv(from_object, ['muteBass'])) - - if getv(from_object, ['muteDrums']) is not None: - setv(to_object, ['mute_drums'], getv(from_object, ['muteDrums'])) - - if getv(from_object, ['onlyBassAndDrums']) is not None: - setv( - to_object, - ['only_bass_and_drums'], - getv(from_object, ['onlyBassAndDrums']), - ) - - if getv(from_object, ['musicGenerationMode']) is not None: - setv( - to_object, - ['music_generation_mode'], - getv(from_object, ['musicGenerationMode']), - ) - - return to_object - - -def _LiveMusicGenerationConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['temperature']) is not None: - setv(to_object, ['temperature'], getv(from_object, ['temperature'])) - - if getv(from_object, ['top_k']) is not None: - setv(to_object, ['topK'], getv(from_object, ['top_k'])) - - if getv(from_object, ['seed']) is not None: - setv(to_object, ['seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['guidance']) is not None: - setv(to_object, ['guidance'], getv(from_object, ['guidance'])) - - if getv(from_object, ['bpm']) is not None: - setv(to_object, ['bpm'], getv(from_object, ['bpm'])) - - if getv(from_object, ['density']) is not None: - setv(to_object, ['density'], getv(from_object, ['density'])) - - if getv(from_object, ['brightness']) is not None: - setv(to_object, ['brightness'], getv(from_object, ['brightness'])) - - if getv(from_object, ['scale']) is not None: - setv(to_object, ['scale'], getv(from_object, ['scale'])) - - if getv(from_object, ['mute_bass']) is not None: - setv(to_object, ['muteBass'], getv(from_object, ['mute_bass'])) - - if getv(from_object, ['mute_drums']) is not None: - setv(to_object, ['muteDrums'], getv(from_object, ['mute_drums'])) - - if getv(from_object, ['only_bass_and_drums']) is not None: - setv( - to_object, - ['onlyBassAndDrums'], - getv(from_object, ['only_bass_and_drums']), - ) - - if getv(from_object, ['music_generation_mode']) is not None: - setv( - to_object, - ['musicGenerationMode'], - getv(from_object, ['music_generation_mode']), - ) - - return to_object - - -def _LiveMusicServerContent_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['audioChunks']) is not None: - setv( - to_object, - ['audio_chunks'], - [ - _AudioChunk_from_mldev(item, to_object) - for item in getv(from_object, ['audioChunks']) - ], - ) - - return to_object - - -def _LiveMusicServerMessage_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setupComplete']) is not None: - setv( - to_object, - ['setup_complete'], - _LiveMusicServerSetupComplete_from_mldev( - getv(from_object, ['setupComplete']), to_object - ), - ) - - if getv(from_object, ['serverContent']) is not None: - setv( - to_object, - ['server_content'], - _LiveMusicServerContent_from_mldev( - getv(from_object, ['serverContent']), to_object - ), - ) - - if getv(from_object, ['filteredPrompt']) is not None: - setv( - to_object, - ['filtered_prompt'], - _LiveMusicFilteredPrompt_from_mldev( - getv(from_object, ['filteredPrompt']), to_object - ), - ) - - return to_object - - -def _LiveMusicServerMessage_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _LiveMusicServerSetupComplete_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _LiveMusicSetConfigParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['music_generation_config']) is not None: - setv( - to_object, - ['musicGenerationConfig'], - _LiveMusicGenerationConfig_to_mldev( - getv(from_object, ['music_generation_config']), to_object - ), - ) - - return to_object - - -def _LiveMusicSetConfigParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['music_generation_config']) is not None: - raise ValueError( - 'music_generation_config parameter is not supported in Vertex AI.' - ) - - return to_object - - -def _LiveMusicSetWeightedPromptsParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weighted_prompts']) is not None: - setv( - to_object, - ['weightedPrompts'], - [ - _WeightedPrompt_to_mldev(item, to_object) - for item in getv(from_object, ['weighted_prompts']) - ], - ) - - return to_object - - -def _LiveMusicSetWeightedPromptsParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['weighted_prompts']) is not None: - raise ValueError( - 'weighted_prompts parameter is not supported in Vertex AI.' - ) - - return to_object - - -def _LiveMusicSourceMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['clientContent']) is not None: - setv( - to_object, - ['client_content'], - _LiveMusicClientContent_from_mldev( - getv(from_object, ['clientContent']), to_object - ), - ) - - if getv(from_object, ['musicGenerationConfig']) is not None: - setv( - to_object, - ['music_generation_config'], - _LiveMusicGenerationConfig_from_mldev( - getv(from_object, ['musicGenerationConfig']), to_object - ), - ) - - return to_object - - -def _LiveSendRealtimeInputParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['media']) is not None: - setv( - to_object, - ['mediaChunks'], - [item for item in t.t_blobs(getv(from_object, ['media']))], - ) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) - - if getv(from_object, ['audio_stream_end']) is not None: - setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv( - to_object, - ['activityStart'], - _ActivityStart_to_mldev( - getv(from_object, ['activity_start']), to_object - ), - ) - - if getv(from_object, ['activity_end']) is not None: - setv( - to_object, - ['activityEnd'], - _ActivityEnd_to_mldev(getv(from_object, ['activity_end']), to_object), - ) - - return to_object - - -def _LiveSendRealtimeInputParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['media']) is not None: - setv( - to_object, - ['mediaChunks'], - [item for item in t.t_blobs(getv(from_object, ['media']))], - ) - - if getv(from_object, ['audio']) is not None: - setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) - - if getv(from_object, ['audio_stream_end']) is not None: - setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - - if getv(from_object, ['video']) is not None: - setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['activity_start']) is not None: - setv( - to_object, - ['activityStart'], - _ActivityStart_to_vertex( - getv(from_object, ['activity_start']), to_object - ), - ) - - if getv(from_object, ['activity_end']) is not None: - setv( - to_object, - ['activityEnd'], - _ActivityEnd_to_vertex(getv(from_object, ['activity_end']), to_object), - ) - - return to_object - - -def _LiveServerContent_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['modelTurn']) is not None: - setv( - to_object, - ['model_turn'], - _Content_from_mldev(getv(from_object, ['modelTurn']), to_object), - ) - - if getv(from_object, ['turnComplete']) is not None: - setv(to_object, ['turn_complete'], getv(from_object, ['turnComplete'])) - - if getv(from_object, ['interrupted']) is not None: - setv(to_object, ['interrupted'], getv(from_object, ['interrupted'])) - - if getv(from_object, ['groundingMetadata']) is not None: - setv( - to_object, - ['grounding_metadata'], - getv(from_object, ['groundingMetadata']), - ) - - if getv(from_object, ['generationComplete']) is not None: - setv( - to_object, - ['generation_complete'], - getv(from_object, ['generationComplete']), - ) - - if getv(from_object, ['inputTranscription']) is not None: - setv( - to_object, - ['input_transcription'], - _Transcription_from_mldev( - getv(from_object, ['inputTranscription']), to_object - ), - ) - - if getv(from_object, ['outputTranscription']) is not None: - setv( - to_object, - ['output_transcription'], - _Transcription_from_mldev( - getv(from_object, ['outputTranscription']), to_object - ), - ) - - if getv(from_object, ['urlContextMetadata']) is not None: - setv( - to_object, - ['url_context_metadata'], - _UrlContextMetadata_from_mldev( - getv(from_object, ['urlContextMetadata']), to_object - ), - ) - - if getv(from_object, ['turnCompleteReason']) is not None: - setv( - to_object, - ['turn_complete_reason'], - getv(from_object, ['turnCompleteReason']), - ) - - if getv(from_object, ['waitingForInput']) is not None: - setv( - to_object, ['waiting_for_input'], getv(from_object, ['waitingForInput']) - ) - - return to_object - - -def _LiveServerContent_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['modelTurn']) is not None: - setv( - to_object, - ['model_turn'], - _Content_from_vertex(getv(from_object, ['modelTurn']), to_object), - ) - - if getv(from_object, ['turnComplete']) is not None: - setv(to_object, ['turn_complete'], getv(from_object, ['turnComplete'])) - - if getv(from_object, ['interrupted']) is not None: - setv(to_object, ['interrupted'], getv(from_object, ['interrupted'])) - - if getv(from_object, ['groundingMetadata']) is not None: - setv( - to_object, - ['grounding_metadata'], - getv(from_object, ['groundingMetadata']), - ) - - if getv(from_object, ['generationComplete']) is not None: - setv( - to_object, - ['generation_complete'], - getv(from_object, ['generationComplete']), - ) - - if getv(from_object, ['inputTranscription']) is not None: - setv( - to_object, - ['input_transcription'], - _Transcription_from_vertex( - getv(from_object, ['inputTranscription']), to_object - ), - ) - - if getv(from_object, ['outputTranscription']) is not None: - setv( - to_object, - ['output_transcription'], - _Transcription_from_vertex( - getv(from_object, ['outputTranscription']), to_object - ), - ) - - if getv(from_object, ['turnCompleteReason']) is not None: - setv( - to_object, - ['turn_complete_reason'], - getv(from_object, ['turnCompleteReason']), - ) - - if getv(from_object, ['waitingForInput']) is not None: - setv( - to_object, ['waiting_for_input'], getv(from_object, ['waitingForInput']) - ) - - return to_object - - -def _LiveServerGoAway_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['timeLeft']) is not None: - setv(to_object, ['time_left'], getv(from_object, ['timeLeft'])) - - return to_object - - -def _LiveServerGoAway_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['timeLeft']) is not None: - setv(to_object, ['time_left'], getv(from_object, ['timeLeft'])) - - return to_object - - -def _LiveServerMessage_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['setupComplete']) is not None: + if getv(from_object, ['media_chunks']) is not None: setv( to_object, - ['setup_complete'], - _LiveServerSetupComplete_from_mldev( - getv(from_object, ['setupComplete']), to_object - ), + ['mediaChunks'], + [item for item in getv(from_object, ['media_chunks'])], ) - if getv(from_object, ['serverContent']) is not None: - setv( - to_object, - ['server_content'], - _LiveServerContent_from_mldev( - getv(from_object, ['serverContent']), to_object - ), - ) + if getv(from_object, ['audio']) is not None: + setv(to_object, ['audio'], getv(from_object, ['audio'])) - if getv(from_object, ['toolCall']) is not None: - setv( - to_object, - ['tool_call'], - _LiveServerToolCall_from_mldev( - getv(from_object, ['toolCall']), to_object - ), + if getv(from_object, ['audio_stream_end']) is not None: + raise ValueError( + 'audio_stream_end parameter is not supported in Vertex AI.' ) - if getv(from_object, ['toolCallCancellation']) is not None: - setv( - to_object, - ['tool_call_cancellation'], - _LiveServerToolCallCancellation_from_mldev( - getv(from_object, ['toolCallCancellation']), to_object - ), - ) + if getv(from_object, ['video']) is not None: + setv(to_object, ['video'], getv(from_object, ['video'])) - if getv(from_object, ['usageMetadata']) is not None: - setv( - to_object, - ['usage_metadata'], - _UsageMetadata_from_mldev( - getv(from_object, ['usageMetadata']), to_object - ), - ) + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) - if getv(from_object, ['goAway']) is not None: - setv( - to_object, - ['go_away'], - _LiveServerGoAway_from_mldev(getv(from_object, ['goAway']), to_object), - ) + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) - if getv(from_object, ['sessionResumptionUpdate']) is not None: - setv( - to_object, - ['session_resumption_update'], - _LiveServerSessionResumptionUpdate_from_mldev( - getv(from_object, ['sessionResumptionUpdate']), to_object - ), - ) + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) return to_object -def _LiveServerMessage_from_vertex( +def _LiveClientSetup_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['setupComplete']) is not None: - setv( - to_object, - ['setup_complete'], - _LiveServerSetupComplete_from_vertex( - getv(from_object, ['setupComplete']), to_object - ), - ) + if getv(from_object, ['model']) is not None: + setv(to_object, ['model'], getv(from_object, ['model'])) - if getv(from_object, ['serverContent']) is not None: + if getv(from_object, ['generation_config']) is not None: setv( to_object, - ['server_content'], - _LiveServerContent_from_vertex( - getv(from_object, ['serverContent']), to_object - ), + ['generationConfig'], + getv(from_object, ['generation_config']), ) - if getv(from_object, ['toolCall']) is not None: + if getv(from_object, ['system_instruction']) is not None: setv( to_object, - ['tool_call'], - _LiveServerToolCall_from_vertex( - getv(from_object, ['toolCall']), to_object + ['systemInstruction'], + _Content_to_mldev( + t.t_content(getv(from_object, ['system_instruction'])), to_object ), ) - if getv(from_object, ['toolCallCancellation']) is not None: + if getv(from_object, ['tools']) is not None: setv( to_object, - ['tool_call_cancellation'], - _LiveServerToolCallCancellation_from_vertex( - getv(from_object, ['toolCallCancellation']), to_object - ), + ['tools'], + [ + _Tool_to_mldev(t.t_tool(api_client, item), to_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], ) - if getv(from_object, ['usageMetadata']) is not None: + if getv(from_object, ['session_resumption']) is not None: setv( to_object, - ['usage_metadata'], - _UsageMetadata_from_vertex( - getv(from_object, ['usageMetadata']), to_object + ['sessionResumption'], + _SessionResumptionConfig_to_mldev( + getv(from_object, ['session_resumption']), to_object ), ) - if getv(from_object, ['goAway']) is not None: - setv( - to_object, - ['go_away'], - _LiveServerGoAway_from_vertex(getv(from_object, ['goAway']), to_object), - ) - - if getv(from_object, ['sessionResumptionUpdate']) is not None: + if getv(from_object, ['context_window_compression']) is not None: setv( to_object, - ['session_resumption_update'], - _LiveServerSessionResumptionUpdate_from_vertex( - getv(from_object, ['sessionResumptionUpdate']), to_object - ), + ['contextWindowCompression'], + getv(from_object, ['context_window_compression']), ) - return to_object - - -def _LiveServerSessionResumptionUpdate_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['newHandle']) is not None: - setv(to_object, ['new_handle'], getv(from_object, ['newHandle'])) - - if getv(from_object, ['resumable']) is not None: - setv(to_object, ['resumable'], getv(from_object, ['resumable'])) - - if getv(from_object, ['lastConsumedClientMessageIndex']) is not None: + if getv(from_object, ['input_audio_transcription']) is not None: setv( to_object, - ['last_consumed_client_message_index'], - getv(from_object, ['lastConsumedClientMessageIndex']), + ['inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), ) - return to_object - - -def _LiveServerSessionResumptionUpdate_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['newHandle']) is not None: - setv(to_object, ['new_handle'], getv(from_object, ['newHandle'])) - - if getv(from_object, ['resumable']) is not None: - setv(to_object, ['resumable'], getv(from_object, ['resumable'])) - - if getv(from_object, ['lastConsumedClientMessageIndex']) is not None: + if getv(from_object, ['output_audio_transcription']) is not None: setv( to_object, - ['last_consumed_client_message_index'], - getv(from_object, ['lastConsumedClientMessageIndex']), + ['outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), ) - return to_object - - -def _LiveServerSetupComplete_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _LiveServerSetupComplete_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sessionId']) is not None: - setv(to_object, ['session_id'], getv(from_object, ['sessionId'])) - - return to_object - - -def _LiveServerToolCallCancellation_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['ids']) is not None: - setv(to_object, ['ids'], getv(from_object, ['ids'])) + if getv(from_object, ['proactivity']) is not None: + setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) return to_object -def _LiveServerToolCallCancellation_from_vertex( +def _LiveClientSetup_to_vertex( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['ids']) is not None: - setv(to_object, ['ids'], getv(from_object, ['ids'])) - - return to_object - + if getv(from_object, ['model']) is not None: + setv(to_object, ['model'], getv(from_object, ['model'])) -def _LiveServerToolCall_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['functionCalls']) is not None: + if getv(from_object, ['generation_config']) is not None: setv( to_object, - ['function_calls'], - [ - _FunctionCall_from_mldev(item, to_object) - for item in getv(from_object, ['functionCalls']) - ], + ['generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object + ), ) - return to_object - - -def _LiveServerToolCall_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['functionCalls']) is not None: + if getv(from_object, ['system_instruction']) is not None: setv( to_object, - ['function_calls'], - [ - _FunctionCall_from_vertex(item, to_object) - for item in getv(from_object, ['functionCalls']) - ], + ['systemInstruction'], + t.t_content(getv(from_object, ['system_instruction'])), ) - return to_object - - -def _ModalityTokenCount_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['modality']) is not None: - setv(to_object, ['modality'], getv(from_object, ['modality'])) - - if getv(from_object, ['tokenCount']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) - - return to_object - - -def _ModalityTokenCount_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['modality']) is not None: - setv(to_object, ['modality'], getv(from_object, ['modality'])) - - if getv(from_object, ['tokenCount']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) - - return to_object - - -def _MultiSpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: + if getv(from_object, ['tools']) is not None: setv( to_object, - ['speakerVoiceConfigs'], + ['tools'], [ - _SpeakerVoiceConfig_to_mldev(item, to_object) - for item in getv(from_object, ['speaker_voice_configs']) + _Tool_to_vertex(t.t_tool(api_client, item), to_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) ], ) - return to_object - - -def _Part_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['videoMetadata']) is not None: - setv( - to_object, - ['video_metadata'], - _VideoMetadata_from_mldev( - getv(from_object, ['videoMetadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inlineData']) is not None: - setv( - to_object, - ['inline_data'], - _Blob_from_mldev(getv(from_object, ['inlineData']), to_object), - ) - - if getv(from_object, ['fileData']) is not None: - setv( - to_object, - ['file_data'], - _FileData_from_mldev(getv(from_object, ['fileData']), to_object), - ) - - if getv(from_object, ['thoughtSignature']) is not None: + if getv(from_object, ['session_resumption']) is not None: setv( to_object, - ['thought_signature'], - getv(from_object, ['thoughtSignature']), + ['sessionResumption'], + getv(from_object, ['session_resumption']), ) - if getv(from_object, ['functionCall']) is not None: + if getv(from_object, ['context_window_compression']) is not None: setv( to_object, - ['function_call'], - _FunctionCall_from_mldev( - getv(from_object, ['functionCall']), to_object - ), + ['contextWindowCompression'], + getv(from_object, ['context_window_compression']), ) - if getv(from_object, ['codeExecutionResult']) is not None: + if getv(from_object, ['input_audio_transcription']) is not None: setv( to_object, - ['code_execution_result'], - getv(from_object, ['codeExecutionResult']), + ['inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), ) - if getv(from_object, ['executableCode']) is not None: - setv(to_object, ['executable_code'], getv(from_object, ['executableCode'])) - - if getv(from_object, ['functionResponse']) is not None: + if getv(from_object, ['output_audio_transcription']) is not None: setv( to_object, - ['function_response'], - getv(from_object, ['functionResponse']), + ['outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), ) - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) + if getv(from_object, ['proactivity']) is not None: + setv(to_object, ['proactivity'], getv(from_object, ['proactivity'])) return to_object -def _Part_from_vertex( +def _LiveConnectConfig_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['videoMetadata']) is not None: + + if getv(from_object, ['generation_config']) is not None: setv( - to_object, - ['video_metadata'], - _VideoMetadata_from_vertex( - getv(from_object, ['videoMetadata']), to_object - ), + parent_object, + ['setup', 'generationConfig'], + getv(from_object, ['generation_config']), ) - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inlineData']) is not None: + if getv(from_object, ['response_modalities']) is not None: setv( - to_object, - ['inline_data'], - _Blob_from_vertex(getv(from_object, ['inlineData']), to_object), + parent_object, + ['setup', 'generationConfig', 'responseModalities'], + getv(from_object, ['response_modalities']), ) - if getv(from_object, ['fileData']) is not None: + if getv(from_object, ['temperature']) is not None: setv( - to_object, - ['file_data'], - _FileData_from_vertex(getv(from_object, ['fileData']), to_object), + parent_object, + ['setup', 'generationConfig', 'temperature'], + getv(from_object, ['temperature']), ) - if getv(from_object, ['thoughtSignature']) is not None: + if getv(from_object, ['top_p']) is not None: setv( - to_object, - ['thought_signature'], - getv(from_object, ['thoughtSignature']), + parent_object, + ['setup', 'generationConfig', 'topP'], + getv(from_object, ['top_p']), ) - if getv(from_object, ['functionCall']) is not None: + if getv(from_object, ['top_k']) is not None: setv( - to_object, - ['function_call'], - _FunctionCall_from_vertex( - getv(from_object, ['functionCall']), to_object - ), + parent_object, + ['setup', 'generationConfig', 'topK'], + getv(from_object, ['top_k']), ) - if getv(from_object, ['codeExecutionResult']) is not None: + if getv(from_object, ['max_output_tokens']) is not None: setv( - to_object, - ['code_execution_result'], - getv(from_object, ['codeExecutionResult']), + parent_object, + ['setup', 'generationConfig', 'maxOutputTokens'], + getv(from_object, ['max_output_tokens']), ) - if getv(from_object, ['executableCode']) is not None: - setv(to_object, ['executable_code'], getv(from_object, ['executableCode'])) - - if getv(from_object, ['functionResponse']) is not None: + if getv(from_object, ['media_resolution']) is not None: setv( - to_object, - ['function_response'], - getv(from_object, ['functionResponse']), + parent_object, + ['setup', 'generationConfig', 'mediaResolution'], + getv(from_object, ['media_resolution']), ) - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) + if getv(from_object, ['seed']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'seed'], + getv(from_object, ['seed']), + ) - return to_object + if getv(from_object, ['speech_config']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'speechConfig'], + t.t_live_speech_config(getv(from_object, ['speech_config'])), + ) + if getv(from_object, ['enable_affective_dialog']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'enableAffectiveDialog'], + getv(from_object, ['enable_affective_dialog']), + ) -def _Part_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: + if getv(from_object, ['system_instruction']) is not None: setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_mldev( - getv(from_object, ['video_metadata']), to_object + parent_object, + ['setup', 'systemInstruction'], + _Content_to_mldev( + t.t_content(getv(from_object, ['system_instruction'])), to_object ), ) - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: + if getv(from_object, ['tools']) is not None: setv( - to_object, - ['inlineData'], - _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), + parent_object, + ['setup', 'tools'], + [ + _Tool_to_mldev(t.t_tool(api_client, item), to_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], ) - if getv(from_object, ['file_data']) is not None: + if getv(from_object, ['session_resumption']) is not None: setv( - to_object, - ['fileData'], - _FileData_to_mldev(getv(from_object, ['file_data']), to_object), + parent_object, + ['setup', 'sessionResumption'], + _SessionResumptionConfig_to_mldev( + getv(from_object, ['session_resumption']), to_object + ), ) - if getv(from_object, ['thought_signature']) is not None: + if getv(from_object, ['input_audio_transcription']) is not None: setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), + parent_object, + ['setup', 'inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), ) - if getv(from_object, ['function_call']) is not None: + if getv(from_object, ['output_audio_transcription']) is not None: setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), + parent_object, + ['setup', 'outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), ) - if getv(from_object, ['code_execution_result']) is not None: + if getv(from_object, ['realtime_input_config']) is not None: setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), + parent_object, + ['setup', 'realtimeInputConfig'], + getv(from_object, ['realtime_input_config']), ) - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: + if getv(from_object, ['context_window_compression']) is not None: setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), + parent_object, + ['setup', 'contextWindowCompression'], + getv(from_object, ['context_window_compression']), ) - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) + if getv(from_object, ['proactivity']) is not None: + setv( + parent_object, + ['setup', 'proactivity'], + getv(from_object, ['proactivity']), + ) return to_object -def _Part_to_vertex( +def _LiveConnectConfig_to_vertex( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: + + if getv(from_object, ['generation_config']) is not None: setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_vertex( - getv(from_object, ['video_metadata']), to_object + parent_object, + ['setup', 'generationConfig'], + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object ), ) - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: + if getv(from_object, ['response_modalities']) is not None: setv( - to_object, - ['inlineData'], - _Blob_to_vertex(getv(from_object, ['inline_data']), to_object), + parent_object, + ['setup', 'generationConfig', 'responseModalities'], + getv(from_object, ['response_modalities']), ) - if getv(from_object, ['file_data']) is not None: + if getv(from_object, ['temperature']) is not None: setv( - to_object, - ['fileData'], - _FileData_to_vertex(getv(from_object, ['file_data']), to_object), + parent_object, + ['setup', 'generationConfig', 'temperature'], + getv(from_object, ['temperature']), ) - if getv(from_object, ['thought_signature']) is not None: + if getv(from_object, ['top_p']) is not None: setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), + parent_object, + ['setup', 'generationConfig', 'topP'], + getv(from_object, ['top_p']), ) - if getv(from_object, ['function_call']) is not None: + if getv(from_object, ['top_k']) is not None: setv( - to_object, - ['functionCall'], - _FunctionCall_to_vertex( - getv(from_object, ['function_call']), to_object - ), + parent_object, + ['setup', 'generationConfig', 'topK'], + getv(from_object, ['top_k']), ) - if getv(from_object, ['code_execution_result']) is not None: + if getv(from_object, ['max_output_tokens']) is not None: setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), + parent_object, + ['setup', 'generationConfig', 'maxOutputTokens'], + getv(from_object, ['max_output_tokens']), ) - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: + if getv(from_object, ['media_resolution']) is not None: setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), + parent_object, + ['setup', 'generationConfig', 'mediaResolution'], + getv(from_object, ['media_resolution']), ) - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - + if getv(from_object, ['seed']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'seed'], + getv(from_object, ['seed']), + ) -def _PrebuiltVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) + if getv(from_object, ['speech_config']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'speechConfig'], + _SpeechConfig_to_vertex( + t.t_live_speech_config(getv(from_object, ['speech_config'])), + to_object, + ), + ) - return to_object + if getv(from_object, ['enable_affective_dialog']) is not None: + setv( + parent_object, + ['setup', 'generationConfig', 'enableAffectiveDialog'], + getv(from_object, ['enable_affective_dialog']), + ) + if getv(from_object, ['system_instruction']) is not None: + setv( + parent_object, + ['setup', 'systemInstruction'], + t.t_content(getv(from_object, ['system_instruction'])), + ) -def _PrebuiltVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) + if getv(from_object, ['tools']) is not None: + setv( + parent_object, + ['setup', 'tools'], + [ + _Tool_to_vertex(t.t_tool(api_client, item), to_object) + for item in t.t_tools(api_client, getv(from_object, ['tools'])) + ], + ) - return to_object + if getv(from_object, ['session_resumption']) is not None: + setv( + parent_object, + ['setup', 'sessionResumption'], + getv(from_object, ['session_resumption']), + ) + if getv(from_object, ['input_audio_transcription']) is not None: + setv( + parent_object, + ['setup', 'inputAudioTranscription'], + getv(from_object, ['input_audio_transcription']), + ) -def _ProactivityConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['proactive_audio']) is not None: - setv(to_object, ['proactiveAudio'], getv(from_object, ['proactive_audio'])) + if getv(from_object, ['output_audio_transcription']) is not None: + setv( + parent_object, + ['setup', 'outputAudioTranscription'], + getv(from_object, ['output_audio_transcription']), + ) - return to_object + if getv(from_object, ['realtime_input_config']) is not None: + setv( + parent_object, + ['setup', 'realtimeInputConfig'], + getv(from_object, ['realtime_input_config']), + ) + if getv(from_object, ['context_window_compression']) is not None: + setv( + parent_object, + ['setup', 'contextWindowCompression'], + getv(from_object, ['context_window_compression']), + ) -def _ProactivityConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['proactive_audio']) is not None: - setv(to_object, ['proactiveAudio'], getv(from_object, ['proactive_audio'])) + if getv(from_object, ['proactivity']) is not None: + setv( + parent_object, + ['setup', 'proactivity'], + getv(from_object, ['proactivity']), + ) return to_object -def _RealtimeInputConfig_to_mldev( +def _LiveConnectParameters_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['automatic_activity_detection']) is not None: + if getv(from_object, ['model']) is not None: setv( to_object, - ['automaticActivityDetection'], - _AutomaticActivityDetection_to_mldev( - getv(from_object, ['automatic_activity_detection']), to_object - ), + ['setup', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), ) - if getv(from_object, ['activity_handling']) is not None: + if getv(from_object, ['config']) is not None: setv( to_object, - ['activityHandling'], - getv(from_object, ['activity_handling']), + ['config'], + _LiveConnectConfig_to_mldev( + api_client, getv(from_object, ['config']), to_object + ), ) - if getv(from_object, ['turn_coverage']) is not None: - setv(to_object, ['turnCoverage'], getv(from_object, ['turn_coverage'])) - return to_object -def _RealtimeInputConfig_to_vertex( +def _LiveConnectParameters_to_vertex( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['automatic_activity_detection']) is not None: + if getv(from_object, ['model']) is not None: setv( to_object, - ['automaticActivityDetection'], - _AutomaticActivityDetection_to_vertex( - getv(from_object, ['automatic_activity_detection']), to_object - ), + ['setup', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), ) - if getv(from_object, ['activity_handling']) is not None: + if getv(from_object, ['config']) is not None: setv( to_object, - ['activityHandling'], - getv(from_object, ['activity_handling']), + ['config'], + _LiveConnectConfig_to_vertex( + api_client, getv(from_object, ['config']), to_object + ), ) - if getv(from_object, ['turn_coverage']) is not None: - setv(to_object, ['turnCoverage'], getv(from_object, ['turn_coverage'])) - return to_object -def _SessionResumptionConfig_to_mldev( +def _LiveMusicClientMessage_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['handle']) is not None: - setv(to_object, ['handle'], getv(from_object, ['handle'])) + if getv(from_object, ['setup']) is not None: + raise ValueError('setup parameter is not supported in Vertex AI.') - if getv(from_object, ['transparent']) is not None: - raise ValueError('transparent parameter is not supported in Gemini API.') + if getv(from_object, ['client_content']) is not None: + raise ValueError('client_content parameter is not supported in Vertex AI.') + + if getv(from_object, ['music_generation_config']) is not None: + raise ValueError( + 'music_generation_config parameter is not supported in Vertex AI.' + ) + + if getv(from_object, ['playback_control']) is not None: + raise ValueError( + 'playback_control parameter is not supported in Vertex AI.' + ) return to_object -def _SessionResumptionConfig_to_vertex( +def _LiveMusicConnectParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['handle']) is not None: - setv(to_object, ['handle'], getv(from_object, ['handle'])) - - if getv(from_object, ['transparent']) is not None: - setv(to_object, ['transparent'], getv(from_object, ['transparent'])) + if getv(from_object, ['model']) is not None: + setv(to_object, ['setup', 'model'], getv(from_object, ['model'])) return to_object -def _SlidingWindow_to_mldev( +def _LiveMusicConnectParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['target_tokens']) is not None: - setv(to_object, ['targetTokens'], getv(from_object, ['target_tokens'])) + if getv(from_object, ['model']) is not None: + raise ValueError('model parameter is not supported in Vertex AI.') return to_object -def _SlidingWindow_to_vertex( +def _LiveMusicSetConfigParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['target_tokens']) is not None: - setv(to_object, ['targetTokens'], getv(from_object, ['target_tokens'])) + if getv(from_object, ['music_generation_config']) is not None: + setv( + to_object, + ['musicGenerationConfig'], + getv(from_object, ['music_generation_config']), + ) return to_object -def _SpeakerVoiceConfig_to_mldev( +def _LiveMusicSetConfigParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), + if getv(from_object, ['music_generation_config']) is not None: + raise ValueError( + 'music_generation_config parameter is not supported in Vertex AI.' ) return to_object -def _SpeechConfig_to_mldev( +def _LiveMusicSetWeightedPromptsParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: + if getv(from_object, ['weighted_prompts']) is not None: setv( to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_mldev( - getv(from_object, ['multi_speaker_voice_config']), to_object - ), + ['weightedPrompts'], + [item for item in getv(from_object, ['weighted_prompts'])], ) - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - return to_object -def _SpeechConfig_to_vertex( +def _LiveMusicSetWeightedPromptsParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: + if getv(from_object, ['weighted_prompts']) is not None: raise ValueError( - 'multi_speaker_voice_config parameter is not supported in Vertex AI.' + 'weighted_prompts parameter is not supported in Vertex AI.' ) - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - return to_object -def _ToolComputerUse_to_mldev( +def _LiveSendRealtimeInputParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) + if getv(from_object, ['media']) is not None: + setv( + to_object, + ['mediaChunks'], + [ + _Blob_to_mldev(item, to_object) + for item in t.t_blobs(getv(from_object, ['media'])) + ], + ) + + if getv(from_object, ['audio']) is not None: + setv( + to_object, + ['audio'], + _Blob_to_mldev(t.t_audio_blob(getv(from_object, ['audio'])), to_object), + ) + + if getv(from_object, ['audio_stream_end']) is not None: + setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) - if getv(from_object, ['excluded_predefined_functions']) is not None: + if getv(from_object, ['video']) is not None: setv( to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), + ['video'], + _Blob_to_mldev(t.t_image_blob(getv(from_object, ['video'])), to_object), ) + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) + return to_object -def _ToolComputerUse_to_vertex( +def _LiveSendRealtimeInputParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: + if getv(from_object, ['media']) is not None: setv( to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), + ['mediaChunks'], + [item for item in t.t_blobs(getv(from_object, ['media']))], ) + if getv(from_object, ['audio']) is not None: + setv(to_object, ['audio'], t.t_audio_blob(getv(from_object, ['audio']))) + + if getv(from_object, ['audio_stream_end']) is not None: + setv(to_object, ['audioStreamEnd'], getv(from_object, ['audio_stream_end'])) + + if getv(from_object, ['video']) is not None: + setv(to_object, ['video'], t.t_image_blob(getv(from_object, ['video']))) + + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) + + if getv(from_object, ['activity_start']) is not None: + setv(to_object, ['activityStart'], getv(from_object, ['activity_start'])) + + if getv(from_object, ['activity_end']) is not None: + setv(to_object, ['activityEnd'], getv(from_object, ['activity_end'])) + return to_object -def _Tool_to_mldev( +def _LiveServerMessage_from_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_declarations']) is not None: - setv( - to_object, - ['functionDeclarations'], - [ - _FunctionDeclaration_to_mldev(item, to_object) - for item in getv(from_object, ['function_declarations']) - ], - ) + if getv(from_object, ['setupComplete']) is not None: + setv(to_object, ['setup_complete'], getv(from_object, ['setupComplete'])) - if getv(from_object, ['retrieval']) is not None: - raise ValueError('retrieval parameter is not supported in Gemini API.') + if getv(from_object, ['serverContent']) is not None: + setv(to_object, ['server_content'], getv(from_object, ['serverContent'])) - if getv(from_object, ['google_search']) is not None: + if getv(from_object, ['toolCall']) is not None: + setv(to_object, ['tool_call'], getv(from_object, ['toolCall'])) + + if getv(from_object, ['toolCallCancellation']) is not None: setv( to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), + ['tool_call_cancellation'], + getv(from_object, ['toolCallCancellation']), ) - if getv(from_object, ['google_search_retrieval']) is not None: + if getv(from_object, ['usageMetadata']) is not None: setv( to_object, - ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_mldev( - getv(from_object, ['google_search_retrieval']), to_object + ['usage_metadata'], + _UsageMetadata_from_vertex( + getv(from_object, ['usageMetadata']), to_object ), ) - if getv(from_object, ['enterprise_web_search']) is not None: - raise ValueError( - 'enterprise_web_search parameter is not supported in Gemini API.' - ) - - if getv(from_object, ['google_maps']) is not None: - raise ValueError('google_maps parameter is not supported in Gemini API.') - - if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_mldev(getv(from_object, ['url_context']), to_object), - ) + if getv(from_object, ['goAway']) is not None: + setv(to_object, ['go_away'], getv(from_object, ['goAway'])) - if getv(from_object, ['computer_use']) is not None: + if getv(from_object, ['sessionResumptionUpdate']) is not None: setv( to_object, - ['computerUse'], - _ToolComputerUse_to_mldev( - getv(from_object, ['computer_use']), to_object - ), + ['session_resumption_update'], + getv(from_object, ['sessionResumptionUpdate']), ) - if getv(from_object, ['code_execution']) is not None: - setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) - return to_object -def _Tool_to_vertex( +def _Part_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_declarations']) is not None: - setv( - to_object, - ['functionDeclarations'], - [ - _FunctionDeclaration_to_vertex(item, to_object) - for item in getv(from_object, ['function_declarations']) - ], - ) - - if getv(from_object, ['retrieval']) is not None: - setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) + if getv(from_object, ['video_metadata']) is not None: + setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) - if getv(from_object, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_vertex( - getv(from_object, ['google_search']), to_object - ), - ) + if getv(from_object, ['thought']) is not None: + setv(to_object, ['thought'], getv(from_object, ['thought'])) - if getv(from_object, ['google_search_retrieval']) is not None: + if getv(from_object, ['inline_data']) is not None: setv( to_object, - ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_vertex( - getv(from_object, ['google_search_retrieval']), to_object - ), + ['inlineData'], + _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), ) - if getv(from_object, ['enterprise_web_search']) is not None: + if getv(from_object, ['file_data']) is not None: setv( to_object, - ['enterpriseWebSearch'], - _EnterpriseWebSearch_to_vertex( - getv(from_object, ['enterprise_web_search']), to_object - ), + ['fileData'], + _FileData_to_mldev(getv(from_object, ['file_data']), to_object), ) - if getv(from_object, ['google_maps']) is not None: + if getv(from_object, ['thought_signature']) is not None: setv( to_object, - ['googleMaps'], - _GoogleMaps_to_vertex(getv(from_object, ['google_maps']), to_object), + ['thoughtSignature'], + getv(from_object, ['thought_signature']), ) - if getv(from_object, ['url_context']) is not None: + if getv(from_object, ['function_call']) is not None: + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) + + if getv(from_object, ['code_execution_result']) is not None: setv( to_object, - ['urlContext'], - _UrlContext_to_vertex(getv(from_object, ['url_context']), to_object), + ['codeExecutionResult'], + getv(from_object, ['code_execution_result']), ) - if getv(from_object, ['computer_use']) is not None: + if getv(from_object, ['executable_code']) is not None: + setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) + + if getv(from_object, ['function_response']) is not None: setv( to_object, - ['computerUse'], - _ToolComputerUse_to_vertex( - getv(from_object, ['computer_use']), to_object - ), + ['functionResponse'], + getv(from_object, ['function_response']), ) - if getv(from_object, ['code_execution']) is not None: - setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) return to_object -def _Transcription_from_mldev( +def _SessionResumptionConfig_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) + if getv(from_object, ['handle']) is not None: + setv(to_object, ['handle'], getv(from_object, ['handle'])) - if getv(from_object, ['finished']) is not None: - setv(to_object, ['finished'], getv(from_object, ['finished'])) + if getv(from_object, ['transparent']) is not None: + raise ValueError('transparent parameter is not supported in Gemini API.') return to_object -def _Transcription_from_vertex( +def _SpeechConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) + if getv(from_object, ['voice_config']) is not None: + setv(to_object, ['voiceConfig'], getv(from_object, ['voice_config'])) + + if getv(from_object, ['multi_speaker_voice_config']) is not None: + raise ValueError( + 'multi_speaker_voice_config parameter is not supported in Vertex AI.' + ) - if getv(from_object, ['finished']) is not None: - setv(to_object, ['finished'], getv(from_object, ['finished'])) + if getv(from_object, ['language_code']) is not None: + setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) return to_object -def _UrlContextMetadata_from_mldev( +def _Tool_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['urlMetadata']) is not None: + if getv(from_object, ['function_declarations']) is not None: setv( to_object, - ['url_metadata'], - [ - _UrlMetadata_from_mldev(item, to_object) - for item in getv(from_object, ['urlMetadata']) - ], + ['functionDeclarations'], + [item for item in getv(from_object, ['function_declarations'])], ) - return to_object - - -def _UrlContext_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['retrieval']) is not None: + raise ValueError('retrieval parameter is not supported in Gemini API.') - return to_object + if getv(from_object, ['google_search']) is not None: + setv( + to_object, + ['googleSearch'], + _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), + ) + if getv(from_object, ['google_search_retrieval']) is not None: + setv( + to_object, + ['googleSearchRetrieval'], + getv(from_object, ['google_search_retrieval']), + ) -def _UrlContext_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['enterprise_web_search']) is not None: + raise ValueError( + 'enterprise_web_search parameter is not supported in Gemini API.' + ) - return to_object + if getv(from_object, ['google_maps']) is not None: + raise ValueError('google_maps parameter is not supported in Gemini API.') + if getv(from_object, ['url_context']) is not None: + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) -def _UrlMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrievedUrl']) is not None: - setv(to_object, ['retrieved_url'], getv(from_object, ['retrievedUrl'])) + if getv(from_object, ['computer_use']) is not None: + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) - if getv(from_object, ['urlRetrievalStatus']) is not None: - setv( - to_object, - ['url_retrieval_status'], - getv(from_object, ['urlRetrievalStatus']), - ) + if getv(from_object, ['code_execution']) is not None: + setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) return to_object -def _UsageMetadata_from_mldev( +def _Tool_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['promptTokenCount']) is not None: + if getv(from_object, ['function_declarations']) is not None: setv( to_object, - ['prompt_token_count'], - getv(from_object, ['promptTokenCount']), + ['functionDeclarations'], + [ + _FunctionDeclaration_to_vertex(item, to_object) + for item in getv(from_object, ['function_declarations']) + ], ) - if getv(from_object, ['cachedContentTokenCount']) is not None: - setv( - to_object, - ['cached_content_token_count'], - getv(from_object, ['cachedContentTokenCount']), - ) + if getv(from_object, ['retrieval']) is not None: + setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) - if getv(from_object, ['responseTokenCount']) is not None: - setv( - to_object, - ['response_token_count'], - getv(from_object, ['responseTokenCount']), - ) + if getv(from_object, ['google_search']) is not None: + setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) - if getv(from_object, ['toolUsePromptTokenCount']) is not None: + if getv(from_object, ['google_search_retrieval']) is not None: setv( to_object, - ['tool_use_prompt_token_count'], - getv(from_object, ['toolUsePromptTokenCount']), + ['googleSearchRetrieval'], + getv(from_object, ['google_search_retrieval']), ) - if getv(from_object, ['thoughtsTokenCount']) is not None: + if getv(from_object, ['enterprise_web_search']) is not None: setv( to_object, - ['thoughts_token_count'], - getv(from_object, ['thoughtsTokenCount']), - ) - - if getv(from_object, ['totalTokenCount']) is not None: - setv( - to_object, ['total_token_count'], getv(from_object, ['totalTokenCount']) + ['enterpriseWebSearch'], + getv(from_object, ['enterprise_web_search']), ) - if getv(from_object, ['promptTokensDetails']) is not None: - setv( - to_object, - ['prompt_tokens_details'], - [ - _ModalityTokenCount_from_mldev(item, to_object) - for item in getv(from_object, ['promptTokensDetails']) - ], - ) + if getv(from_object, ['google_maps']) is not None: + setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) - if getv(from_object, ['cacheTokensDetails']) is not None: - setv( - to_object, - ['cache_tokens_details'], - [ - _ModalityTokenCount_from_mldev(item, to_object) - for item in getv(from_object, ['cacheTokensDetails']) - ], - ) + if getv(from_object, ['url_context']) is not None: + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) - if getv(from_object, ['responseTokensDetails']) is not None: - setv( - to_object, - ['response_tokens_details'], - [ - _ModalityTokenCount_from_mldev(item, to_object) - for item in getv(from_object, ['responseTokensDetails']) - ], - ) + if getv(from_object, ['computer_use']) is not None: + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) - if getv(from_object, ['toolUsePromptTokensDetails']) is not None: - setv( - to_object, - ['tool_use_prompt_tokens_details'], - [ - _ModalityTokenCount_from_mldev(item, to_object) - for item in getv(from_object, ['toolUsePromptTokensDetails']) - ], - ) + if getv(from_object, ['code_execution']) is not None: + setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) return to_object @@ -3582,173 +1357,31 @@ def _UsageMetadata_from_vertex( setv( to_object, ['prompt_tokens_details'], - [ - _ModalityTokenCount_from_vertex(item, to_object) - for item in getv(from_object, ['promptTokensDetails']) - ], + [item for item in getv(from_object, ['promptTokensDetails'])], ) if getv(from_object, ['cacheTokensDetails']) is not None: setv( to_object, ['cache_tokens_details'], - [ - _ModalityTokenCount_from_vertex(item, to_object) - for item in getv(from_object, ['cacheTokensDetails']) - ], + [item for item in getv(from_object, ['cacheTokensDetails'])], ) if getv(from_object, ['candidatesTokensDetails']) is not None: setv( to_object, ['response_tokens_details'], - [ - _ModalityTokenCount_from_vertex(item, to_object) - for item in getv(from_object, ['candidatesTokensDetails']) - ], + [item for item in getv(from_object, ['candidatesTokensDetails'])], ) if getv(from_object, ['toolUsePromptTokensDetails']) is not None: setv( to_object, ['tool_use_prompt_tokens_details'], - [ - _ModalityTokenCount_from_vertex(item, to_object) - for item in getv(from_object, ['toolUsePromptTokensDetails']) - ], + [item for item in getv(from_object, ['toolUsePromptTokensDetails'])], ) if getv(from_object, ['trafficType']) is not None: setv(to_object, ['traffic_type'], getv(from_object, ['trafficType'])) return to_object - - -def _VideoMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['endOffset']) is not None: - setv(to_object, ['end_offset'], getv(from_object, ['endOffset'])) - - if getv(from_object, ['startOffset']) is not None: - setv(to_object, ['start_offset'], getv(from_object, ['startOffset'])) - - return to_object - - -def _VideoMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['endOffset']) is not None: - setv(to_object, ['end_offset'], getv(from_object, ['endOffset'])) - - if getv(from_object, ['startOffset']) is not None: - setv(to_object, ['start_offset'], getv(from_object, ['startOffset'])) - - return to_object - - -def _VideoMetadata_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - -def _VideoMetadata_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - -def _VoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_mldev( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) - - return to_object - - -def _VoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_vertex( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) - - return to_object - - -def _WeightedPrompt_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['weight']) is not None: - setv(to_object, ['weight'], getv(from_object, ['weight'])) - - return to_object - - -def _WeightedPrompt_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - if getv(from_object, ['weight']) is not None: - setv(to_object, ['weight'], getv(from_object, ['weight'])) - - return to_object diff --git a/google/genai/_tokens_converters.py b/google/genai/_tokens_converters.py index 75e643f2d..6abf069fd 100644 --- a/google/genai/_tokens_converters.py +++ b/google/genai/_tokens_converters.py @@ -23,72 +23,6 @@ from ._common import set_value_by_path as setv -def _AudioTranscriptionConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _AuthToken_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _AuthToken_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _AutomaticActivityDetection_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['disabled']) is not None: - setv(to_object, ['disabled'], getv(from_object, ['disabled'])) - - if getv(from_object, ['start_of_speech_sensitivity']) is not None: - setv( - to_object, - ['startOfSpeechSensitivity'], - getv(from_object, ['start_of_speech_sensitivity']), - ) - - if getv(from_object, ['end_of_speech_sensitivity']) is not None: - setv( - to_object, - ['endOfSpeechSensitivity'], - getv(from_object, ['end_of_speech_sensitivity']), - ) - - if getv(from_object, ['prefix_padding_ms']) is not None: - setv( - to_object, ['prefixPaddingMs'], getv(from_object, ['prefix_padding_ms']) - ) - - if getv(from_object, ['silence_duration_ms']) is not None: - setv( - to_object, - ['silenceDurationMs'], - getv(from_object, ['silence_duration_ms']), - ) - - return to_object - - def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -127,26 +61,6 @@ def _Content_to_mldev( return to_object -def _ContextWindowCompressionConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['trigger_tokens']) is not None: - setv(to_object, ['triggerTokens'], getv(from_object, ['trigger_tokens'])) - - if getv(from_object, ['sliding_window']) is not None: - setv( - to_object, - ['slidingWindow'], - _SlidingWindow_to_mldev( - getv(from_object, ['sliding_window']), to_object - ), - ) - - return to_object - - def _CreateAuthTokenConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], @@ -217,24 +131,6 @@ def _CreateAuthTokenParameters_to_vertex( return to_object -def _DynamicRetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -252,77 +148,6 @@ def _FileData_to_mldev( return to_object -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionDeclaration_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - setv(to_object, ['behavior'], getv(from_object, ['behavior'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - -def _GoogleSearchRetrieval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_mldev( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -330,9 +155,7 @@ def _GoogleSearch_to_mldev( to_object: dict[str, Any] = {} if getv(from_object, ['time_range_filter']) is not None: setv( - to_object, - ['timeRangeFilter'], - _Interval_to_mldev(getv(from_object, ['time_range_filter']), to_object), + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) ) if getv(from_object, ['exclude_domains']) is not None: @@ -343,20 +166,6 @@ def _GoogleSearch_to_mldev( return to_object -def _Interval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - def _LiveConnectConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], @@ -424,10 +233,7 @@ def _LiveConnectConfig_to_mldev( setv( parent_object, ['setup', 'generationConfig', 'speechConfig'], - _SpeechConfig_to_mldev( - t.t_live_speech_config(getv(from_object, ['speech_config'])), - to_object, - ), + t.t_live_speech_config(getv(from_object, ['speech_config'])), ) if getv(from_object, ['enable_affective_dialog']) is not None: @@ -469,45 +275,35 @@ def _LiveConnectConfig_to_mldev( setv( parent_object, ['setup', 'inputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['input_audio_transcription']), to_object - ), + getv(from_object, ['input_audio_transcription']), ) if getv(from_object, ['output_audio_transcription']) is not None: setv( parent_object, ['setup', 'outputAudioTranscription'], - _AudioTranscriptionConfig_to_mldev( - getv(from_object, ['output_audio_transcription']), to_object - ), + getv(from_object, ['output_audio_transcription']), ) if getv(from_object, ['realtime_input_config']) is not None: setv( parent_object, ['setup', 'realtimeInputConfig'], - _RealtimeInputConfig_to_mldev( - getv(from_object, ['realtime_input_config']), to_object - ), + getv(from_object, ['realtime_input_config']), ) if getv(from_object, ['context_window_compression']) is not None: setv( parent_object, ['setup', 'contextWindowCompression'], - _ContextWindowCompressionConfig_to_mldev( - getv(from_object, ['context_window_compression']), to_object - ), + getv(from_object, ['context_window_compression']), ) if getv(from_object, ['proactivity']) is not None: setv( parent_object, ['setup', 'proactivity'], - _ProactivityConfig_to_mldev( - getv(from_object, ['proactivity']), to_object - ), + getv(from_object, ['proactivity']), ) return to_object @@ -538,37 +334,13 @@ def _LiveConnectConstraints_to_mldev( return to_object -def _MultiSpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_mldev(item, to_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], - ) - - return to_object - - def _Part_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_mldev( - getv(from_object, ['video_metadata']), to_object - ), - ) + setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) if getv(from_object, ['thought']) is not None: setv(to_object, ['thought'], getv(from_object, ['thought'])) @@ -595,11 +367,7 @@ def _Part_to_mldev( ) if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), - ) + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) if getv(from_object, ['code_execution_result']) is not None: setv( @@ -624,55 +392,6 @@ def _Part_to_mldev( return to_object -def _PrebuiltVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) - - return to_object - - -def _ProactivityConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['proactive_audio']) is not None: - setv(to_object, ['proactiveAudio'], getv(from_object, ['proactive_audio'])) - - return to_object - - -def _RealtimeInputConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['automatic_activity_detection']) is not None: - setv( - to_object, - ['automaticActivityDetection'], - _AutomaticActivityDetection_to_mldev( - getv(from_object, ['automatic_activity_detection']), to_object - ), - ) - - if getv(from_object, ['activity_handling']) is not None: - setv( - to_object, - ['activityHandling'], - getv(from_object, ['activity_handling']), - ) - - if getv(from_object, ['turn_coverage']) is not None: - setv(to_object, ['turnCoverage'], getv(from_object, ['turn_coverage'])) - - return to_object - - def _SessionResumptionConfig_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -687,80 +406,6 @@ def _SessionResumptionConfig_to_mldev( return to_object -def _SlidingWindow_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['target_tokens']) is not None: - setv(to_object, ['targetTokens'], getv(from_object, ['target_tokens'])) - - return to_object - - -def _SpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), - ) - - return to_object - - -def _SpeechConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_mldev( - getv(from_object, ['multi_speaker_voice_config']), to_object - ), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _ToolComputerUse_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: - setv( - to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), - ) - - return to_object - - def _Tool_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -770,10 +415,7 @@ def _Tool_to_mldev( setv( to_object, ['functionDeclarations'], - [ - _FunctionDeclaration_to_mldev(item, to_object) - for item in getv(from_object, ['function_declarations']) - ], + [item for item in getv(from_object, ['function_declarations'])], ) if getv(from_object, ['retrieval']) is not None: @@ -790,9 +432,7 @@ def _Tool_to_mldev( setv( to_object, ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_mldev( - getv(from_object, ['google_search_retrieval']), to_object - ), + getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['enterprise_web_search']) is not None: @@ -804,65 +444,12 @@ def _Tool_to_mldev( raise ValueError('google_maps parameter is not supported in Gemini API.') if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_mldev(getv(from_object, ['url_context']), to_object), - ) + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) if getv(from_object, ['computer_use']) is not None: - setv( - to_object, - ['computerUse'], - _ToolComputerUse_to_mldev( - getv(from_object, ['computer_use']), to_object - ), - ) + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) return to_object - - -def _UrlContext_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _VideoMetadata_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - -def _VoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_mldev( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) - - return to_object diff --git a/google/genai/batches.py b/google/genai/batches.py index d9667b2ac..b4e8295fa 100644 --- a/google/genai/batches.py +++ b/google/genai/batches.py @@ -63,7 +63,7 @@ def _BatchJobDestination_from_mldev( to_object, ['inlined_embed_content_responses'], [ - _InlinedEmbedContentResponse_from_mldev(item, to_object) + item for item in getv( from_object, ['inlinedEmbedContentResponses', 'inlinedResponses'], @@ -291,11 +291,7 @@ def _BatchJob_from_vertex( setv(to_object, ['state'], t.t_job_state(getv(from_object, ['state']))) if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _JobError_from_vertex(getv(from_object, ['error']), to_object), - ) + setv(to_object, ['error'], getv(from_object, ['error'])) if getv(from_object, ['createTime']) is not None: setv(to_object, ['create_time'], getv(from_object, ['createTime'])) @@ -334,21 +330,6 @@ def _BatchJob_from_vertex( return to_object -def _Blob_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -404,11 +385,7 @@ def _Candidate_from_mldev( ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['content']) is not None: - setv( - to_object, - ['content'], - _Content_from_mldev(getv(from_object, ['content']), to_object), - ) + setv(to_object, ['content'], getv(from_object, ['content'])) if getv(from_object, ['citationMetadata']) is not None: setv( @@ -429,9 +406,7 @@ def _Candidate_from_mldev( setv( to_object, ['url_context_metadata'], - _UrlContextMetadata_from_mldev( - getv(from_object, ['urlContextMetadata']), to_object - ), + getv(from_object, ['urlContextMetadata']), ) if getv(from_object, ['avgLogprobs']) is not None: @@ -451,7 +426,11 @@ def _Candidate_from_mldev( setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) if getv(from_object, ['safetyRatings']) is not None: - setv(to_object, ['safety_ratings'], getv(from_object, ['safetyRatings'])) + setv( + to_object, + ['safety_ratings'], + [item for item in getv(from_object, ['safetyRatings'])], + ) return to_object @@ -462,40 +441,12 @@ def _CitationMetadata_from_mldev( ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['citationSources']) is not None: - setv(to_object, ['citations'], getv(from_object, ['citationSources'])) - - return to_object - - -def _ContentEmbedding_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['values']) is not None: - setv(to_object, ['values'], getv(from_object, ['values'])) - - return to_object - - -def _Content_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: setv( to_object, - ['parts'], - [ - _Part_from_mldev(item, to_object) - for item in getv(from_object, ['parts']) - ], + ['citations'], + [item for item in getv(from_object, ['citationSources'])], ) - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - return to_object @@ -714,11 +665,7 @@ def _DeleteResourceJob_from_mldev( setv(to_object, ['done'], getv(from_object, ['done'])) if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _JobError_from_mldev(getv(from_object, ['error']), to_object), - ) + setv(to_object, ['error'], getv(from_object, ['error'])) return to_object @@ -740,29 +687,7 @@ def _DeleteResourceJob_from_vertex( setv(to_object, ['done'], getv(from_object, ['done'])) if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _JobError_from_vertex(getv(from_object, ['error']), to_object), - ) - - return to_object - - -def _DynamicRetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) + setv(to_object, ['error'], getv(from_object, ['error'])) return to_object @@ -777,7 +702,12 @@ def _EmbedContentBatch_to_mldev( setv( to_object, ['requests[]', 'request', 'content'], - t.t_contents_for_embed(api_client, getv(from_object, ['contents'])), + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], ) if getv(from_object, ['config']) is not None: @@ -843,21 +773,6 @@ def _EmbeddingsBatchJobSource_to_mldev( return to_object -def _FileData_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['fileUri']) is not None: - setv(to_object, ['file_uri'], getv(from_object, ['fileUri'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -875,95 +790,6 @@ def _FileData_to_mldev( return to_object -def _FunctionCall_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCallingConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - return to_object - - -def _FunctionDeclaration_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - setv(to_object, ['behavior'], getv(from_object, ['behavior'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - def _GenerateContentConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], @@ -1036,10 +862,7 @@ def _GenerateContentConfig_to_mldev( setv( to_object, ['responseSchema'], - _Schema_to_mldev( - t.t_schema(api_client, getv(from_object, ['response_schema'])), - to_object, - ), + t.t_schema(api_client, getv(from_object, ['response_schema'])), ) if getv(from_object, ['response_json_schema']) is not None: @@ -1078,11 +901,7 @@ def _GenerateContentConfig_to_mldev( ) if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev(getv(from_object, ['tool_config']), to_object), - ) + setv(parent_object, ['toolConfig'], getv(from_object, ['tool_config'])) if getv(from_object, ['labels']) is not None: raise ValueError('labels parameter is not supported in Gemini API.') @@ -1112,9 +931,7 @@ def _GenerateContentConfig_to_mldev( setv( to_object, ['speechConfig'], - _SpeechConfig_to_mldev( - t.t_speech_config(getv(from_object, ['speech_config'])), to_object - ), + t.t_speech_config(getv(from_object, ['speech_config'])), ) if getv(from_object, ['audio_timestamp']) is not None: @@ -1123,13 +940,7 @@ def _GenerateContentConfig_to_mldev( ) if getv(from_object, ['thinking_config']) is not None: - setv( - to_object, - ['thinkingConfig'], - _ThinkingConfig_to_mldev( - getv(from_object, ['thinking_config']), to_object - ), - ) + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) return to_object @@ -1201,23 +1012,6 @@ def _GetBatchJobParameters_to_vertex( return to_object -def _GoogleSearchRetrieval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_mldev( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -1225,9 +1019,7 @@ def _GoogleSearch_to_mldev( to_object: dict[str, Any] = {} if getv(from_object, ['time_range_filter']) is not None: setv( - to_object, - ['timeRangeFilter'], - _Interval_to_mldev(getv(from_object, ['time_range_filter']), to_object), + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) ) if getv(from_object, ['exclude_domains']) is not None: @@ -1235,848 +1027,306 @@ def _GoogleSearch_to_mldev( 'exclude_domains parameter is not supported in Gemini API.' ) - return to_object - - -def _InlinedEmbedContentResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _SingleEmbedContentResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _JobError_from_mldev(getv(from_object, ['error']), to_object), - ) - - return to_object - - -def _InlinedRequest_to_mldev( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv( - to_object, - ['request', 'model'], - t.t_model(api_client, getv(from_object, ['model'])), - ) - - if getv(from_object, ['contents']) is not None: - setv( - to_object, - ['request', 'contents'], - [ - _Content_to_mldev(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], - ) - - if getv(from_object, ['config']) is not None: - setv( - to_object, - ['request', 'generationConfig'], - _GenerateContentConfig_to_mldev( - api_client, getv(from_object, ['config']), to_object - ), - ) - - return to_object - - -def _InlinedResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['response']) is not None: - setv( - to_object, - ['response'], - _GenerateContentResponse_from_mldev( - getv(from_object, ['response']), to_object - ), - ) - - if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _JobError_from_mldev(getv(from_object, ['error']), to_object), - ) - - return to_object - - -def _Interval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _JobError_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['details']) is not None: - setv(to_object, ['details'], getv(from_object, ['details'])) - - if getv(from_object, ['code']) is not None: - setv(to_object, ['code'], getv(from_object, ['code'])) - - if getv(from_object, ['message']) is not None: - setv(to_object, ['message'], getv(from_object, ['message'])) - - return to_object - - -def _JobError_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['details']) is not None: - setv(to_object, ['details'], getv(from_object, ['details'])) - - if getv(from_object, ['code']) is not None: - setv(to_object, ['code'], getv(from_object, ['code'])) - - if getv(from_object, ['message']) is not None: - setv(to_object, ['message'], getv(from_object, ['message'])) - - return to_object - - -def _LatLng_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['latitude']) is not None: - setv(to_object, ['latitude'], getv(from_object, ['latitude'])) - - if getv(from_object, ['longitude']) is not None: - setv(to_object, ['longitude'], getv(from_object, ['longitude'])) - - return to_object - - -def _ListBatchJobsConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - raise ValueError('filter parameter is not supported in Gemini API.') - - return to_object - - -def _ListBatchJobsConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['page_size']) is not None: - setv( - parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) - ) - - if getv(from_object, ['page_token']) is not None: - setv( - parent_object, - ['_query', 'pageToken'], - getv(from_object, ['page_token']), - ) - - if getv(from_object, ['filter']) is not None: - setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) - - return to_object - - -def _ListBatchJobsParameters_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['config']) is not None: - _ListBatchJobsConfig_to_mldev(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListBatchJobsParameters_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['config']) is not None: - _ListBatchJobsConfig_to_vertex(getv(from_object, ['config']), to_object) - - return to_object - - -def _ListBatchJobsResponse_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['operations']) is not None: - setv( - to_object, - ['batch_jobs'], - [ - _BatchJob_from_mldev(item, to_object) - for item in getv(from_object, ['operations']) - ], - ) - - return to_object - - -def _ListBatchJobsResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sdkHttpResponse']) is not None: - setv( - to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) - ) - - if getv(from_object, ['nextPageToken']) is not None: - setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) - - if getv(from_object, ['batchPredictionJobs']) is not None: - setv( - to_object, - ['batch_jobs'], - [ - _BatchJob_from_vertex(item, to_object) - for item in getv(from_object, ['batchPredictionJobs']) - ], - ) - - return to_object - - -def _MultiSpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_mldev(item, to_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], - ) - - return to_object - - -def _Part_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['videoMetadata']) is not None: - setv( - to_object, - ['video_metadata'], - _VideoMetadata_from_mldev( - getv(from_object, ['videoMetadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inlineData']) is not None: - setv( - to_object, - ['inline_data'], - _Blob_from_mldev(getv(from_object, ['inlineData']), to_object), - ) - - if getv(from_object, ['fileData']) is not None: - setv( - to_object, - ['file_data'], - _FileData_from_mldev(getv(from_object, ['fileData']), to_object), - ) - - if getv(from_object, ['thoughtSignature']) is not None: - setv( - to_object, - ['thought_signature'], - getv(from_object, ['thoughtSignature']), - ) - - if getv(from_object, ['functionCall']) is not None: - setv( - to_object, - ['function_call'], - _FunctionCall_from_mldev( - getv(from_object, ['functionCall']), to_object - ), - ) - - if getv(from_object, ['codeExecutionResult']) is not None: - setv( - to_object, - ['code_execution_result'], - getv(from_object, ['codeExecutionResult']), - ) - - if getv(from_object, ['executableCode']) is not None: - setv(to_object, ['executable_code'], getv(from_object, ['executableCode'])) - - if getv(from_object, ['functionResponse']) is not None: - setv( - to_object, - ['function_response'], - getv(from_object, ['functionResponse']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _Part_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_mldev( - getv(from_object, ['video_metadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FileData_to_mldev(getv(from_object, ['file_data']), to_object), - ) - - if getv(from_object, ['thought_signature']) is not None: - setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), - ) - - if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), - ) - - if getv(from_object, ['code_execution_result']) is not None: - setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), - ) - - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: - setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _PrebuiltVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) - - return to_object - - -def _RetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['lat_lng']) is not None: - setv( - to_object, - ['latLng'], - _LatLng_to_mldev(getv(from_object, ['lat_lng']), to_object), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _SafetySetting_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['method']) is not None: - raise ValueError('method parameter is not supported in Gemini API.') - - if getv(from_object, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - return to_object - - -def _Schema_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['additional_properties']) is not None: - raise ValueError( - 'additional_properties parameter is not supported in Gemini API.' - ) - - if getv(from_object, ['defs']) is not None: - raise ValueError('defs parameter is not supported in Gemini API.') - - if getv(from_object, ['ref']) is not None: - raise ValueError('ref parameter is not supported in Gemini API.') - - if getv(from_object, ['any_of']) is not None: - setv(to_object, ['anyOf'], getv(from_object, ['any_of'])) - - if getv(from_object, ['default']) is not None: - setv(to_object, ['default'], getv(from_object, ['default'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['enum']) is not None: - setv(to_object, ['enum'], getv(from_object, ['enum'])) - - if getv(from_object, ['example']) is not None: - setv(to_object, ['example'], getv(from_object, ['example'])) - - if getv(from_object, ['format']) is not None: - setv(to_object, ['format'], getv(from_object, ['format'])) - - if getv(from_object, ['items']) is not None: - setv(to_object, ['items'], getv(from_object, ['items'])) - - if getv(from_object, ['max_items']) is not None: - setv(to_object, ['maxItems'], getv(from_object, ['max_items'])) - - if getv(from_object, ['max_length']) is not None: - setv(to_object, ['maxLength'], getv(from_object, ['max_length'])) - - if getv(from_object, ['max_properties']) is not None: - setv(to_object, ['maxProperties'], getv(from_object, ['max_properties'])) - - if getv(from_object, ['maximum']) is not None: - setv(to_object, ['maximum'], getv(from_object, ['maximum'])) - - if getv(from_object, ['min_items']) is not None: - setv(to_object, ['minItems'], getv(from_object, ['min_items'])) - - if getv(from_object, ['min_length']) is not None: - setv(to_object, ['minLength'], getv(from_object, ['min_length'])) - - if getv(from_object, ['min_properties']) is not None: - setv(to_object, ['minProperties'], getv(from_object, ['min_properties'])) - - if getv(from_object, ['minimum']) is not None: - setv(to_object, ['minimum'], getv(from_object, ['minimum'])) - - if getv(from_object, ['nullable']) is not None: - setv(to_object, ['nullable'], getv(from_object, ['nullable'])) - - if getv(from_object, ['pattern']) is not None: - setv(to_object, ['pattern'], getv(from_object, ['pattern'])) + return to_object - if getv(from_object, ['properties']) is not None: - setv(to_object, ['properties'], getv(from_object, ['properties'])) - if getv(from_object, ['property_ordering']) is not None: +def _InlinedRequest_to_mldev( + api_client: BaseApiClient, + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['model']) is not None: setv( to_object, - ['propertyOrdering'], - getv(from_object, ['property_ordering']), + ['request', 'model'], + t.t_model(api_client, getv(from_object, ['model'])), ) - if getv(from_object, ['required']) is not None: - setv(to_object, ['required'], getv(from_object, ['required'])) - - if getv(from_object, ['title']) is not None: - setv(to_object, ['title'], getv(from_object, ['title'])) + if getv(from_object, ['contents']) is not None: + setv( + to_object, + ['request', 'contents'], + [ + _Content_to_mldev(item, to_object) + for item in t.t_contents(getv(from_object, ['contents'])) + ], + ) - if getv(from_object, ['type']) is not None: - setv(to_object, ['type'], getv(from_object, ['type'])) + if getv(from_object, ['config']) is not None: + setv( + to_object, + ['request', 'generationConfig'], + _GenerateContentConfig_to_mldev( + api_client, getv(from_object, ['config']), to_object + ), + ) return to_object -def _SingleEmbedContentResponse_from_mldev( +def _InlinedResponse_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['embedding']) is not None: + if getv(from_object, ['response']) is not None: setv( to_object, - ['embedding'], - _ContentEmbedding_from_mldev( - getv(from_object, ['embedding']), to_object + ['response'], + _GenerateContentResponse_from_mldev( + getv(from_object, ['response']), to_object ), ) - if getv(from_object, ['tokenCount']) is not None: - setv(to_object, ['token_count'], getv(from_object, ['tokenCount'])) + if getv(from_object, ['error']) is not None: + setv(to_object, ['error'], getv(from_object, ['error'])) return to_object -def _SpeakerVoiceConfig_to_mldev( +def _ListBatchJobsConfig_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - if getv(from_object, ['voice_config']) is not None: + if getv(from_object, ['page_size']) is not None: setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) + ) + + if getv(from_object, ['page_token']) is not None: + setv( + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), ) + if getv(from_object, ['filter']) is not None: + raise ValueError('filter parameter is not supported in Gemini API.') + return to_object -def _SpeechConfig_to_mldev( +def _ListBatchJobsConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: + + if getv(from_object, ['page_size']) is not None: setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), + parent_object, ['_query', 'pageSize'], getv(from_object, ['page_size']) ) - if getv(from_object, ['multi_speaker_voice_config']) is not None: + if getv(from_object, ['page_token']) is not None: setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_mldev( - getv(from_object, ['multi_speaker_voice_config']), to_object - ), + parent_object, + ['_query', 'pageToken'], + getv(from_object, ['page_token']), ) - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) + if getv(from_object, ['filter']) is not None: + setv(parent_object, ['_query', 'filter'], getv(from_object, ['filter'])) return to_object -def _ThinkingConfig_to_mldev( +def _ListBatchJobsParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['include_thoughts']) is not None: - setv( - to_object, ['includeThoughts'], getv(from_object, ['include_thoughts']) - ) - - if getv(from_object, ['thinking_budget']) is not None: - setv(to_object, ['thinkingBudget'], getv(from_object, ['thinking_budget'])) + if getv(from_object, ['config']) is not None: + _ListBatchJobsConfig_to_mldev(getv(from_object, ['config']), to_object) return to_object -def _ToolComputerUse_to_mldev( +def _ListBatchJobsParameters_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: - setv( - to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), - ) + if getv(from_object, ['config']) is not None: + _ListBatchJobsConfig_to_vertex(getv(from_object, ['config']), to_object) return to_object -def _ToolConfig_to_mldev( +def _ListBatchJobsResponse_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_calling_config']) is not None: + if getv(from_object, ['sdkHttpResponse']) is not None: setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), to_object - ), + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) ) - if getv(from_object, ['retrieval_config']) is not None: + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['operations']) is not None: setv( to_object, - ['retrievalConfig'], - _RetrievalConfig_to_mldev( - getv(from_object, ['retrieval_config']), to_object - ), + ['batch_jobs'], + [ + _BatchJob_from_mldev(item, to_object) + for item in getv(from_object, ['operations']) + ], ) return to_object -def _Tool_to_mldev( +def _ListBatchJobsResponse_from_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_declarations']) is not None: + if getv(from_object, ['sdkHttpResponse']) is not None: + setv( + to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse']) + ) + + if getv(from_object, ['nextPageToken']) is not None: + setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) + + if getv(from_object, ['batchPredictionJobs']) is not None: setv( to_object, - ['functionDeclarations'], + ['batch_jobs'], [ - _FunctionDeclaration_to_mldev(item, to_object) - for item in getv(from_object, ['function_declarations']) + _BatchJob_from_vertex(item, to_object) + for item in getv(from_object, ['batchPredictionJobs']) ], ) - if getv(from_object, ['retrieval']) is not None: - raise ValueError('retrieval parameter is not supported in Gemini API.') + return to_object - if getv(from_object, ['google_search']) is not None: + +def _Part_to_mldev( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} + if getv(from_object, ['video_metadata']) is not None: + setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) + + if getv(from_object, ['thought']) is not None: + setv(to_object, ['thought'], getv(from_object, ['thought'])) + + if getv(from_object, ['inline_data']) is not None: setv( to_object, - ['googleSearch'], - _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), + ['inlineData'], + _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), ) - if getv(from_object, ['google_search_retrieval']) is not None: + if getv(from_object, ['file_data']) is not None: setv( to_object, - ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_mldev( - getv(from_object, ['google_search_retrieval']), to_object - ), + ['fileData'], + _FileData_to_mldev(getv(from_object, ['file_data']), to_object), ) - if getv(from_object, ['enterprise_web_search']) is not None: - raise ValueError( - 'enterprise_web_search parameter is not supported in Gemini API.' + if getv(from_object, ['thought_signature']) is not None: + setv( + to_object, + ['thoughtSignature'], + getv(from_object, ['thought_signature']), ) - if getv(from_object, ['google_maps']) is not None: - raise ValueError('google_maps parameter is not supported in Gemini API.') + if getv(from_object, ['function_call']) is not None: + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - if getv(from_object, ['url_context']) is not None: + if getv(from_object, ['code_execution_result']) is not None: setv( to_object, - ['urlContext'], - _UrlContext_to_mldev(getv(from_object, ['url_context']), to_object), + ['codeExecutionResult'], + getv(from_object, ['code_execution_result']), ) - if getv(from_object, ['computer_use']) is not None: + if getv(from_object, ['executable_code']) is not None: + setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) + + if getv(from_object, ['function_response']) is not None: setv( to_object, - ['computerUse'], - _ToolComputerUse_to_mldev( - getv(from_object, ['computer_use']), to_object - ), + ['functionResponse'], + getv(from_object, ['function_response']), ) - if getv(from_object, ['code_execution']) is not None: - setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) + if getv(from_object, ['text']) is not None: + setv(to_object, ['text'], getv(from_object, ['text'])) return to_object -def _UrlContextMetadata_from_mldev( +def _SafetySetting_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['urlMetadata']) is not None: - setv( - to_object, - ['url_metadata'], - [ - _UrlMetadata_from_mldev(item, to_object) - for item in getv(from_object, ['urlMetadata']) - ], - ) - - return to_object + if getv(from_object, ['method']) is not None: + raise ValueError('method parameter is not supported in Gemini API.') + if getv(from_object, ['category']) is not None: + setv(to_object, ['category'], getv(from_object, ['category'])) -def _UrlContext_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} + if getv(from_object, ['threshold']) is not None: + setv(to_object, ['threshold'], getv(from_object, ['threshold'])) return to_object -def _UrlMetadata_from_mldev( +def _Tool_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['retrievedUrl']) is not None: - setv(to_object, ['retrieved_url'], getv(from_object, ['retrievedUrl'])) - - if getv(from_object, ['urlRetrievalStatus']) is not None: + if getv(from_object, ['function_declarations']) is not None: setv( to_object, - ['url_retrieval_status'], - getv(from_object, ['urlRetrievalStatus']), + ['functionDeclarations'], + [item for item in getv(from_object, ['function_declarations'])], ) - return to_object - - -def _VideoMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['endOffset']) is not None: - setv(to_object, ['end_offset'], getv(from_object, ['endOffset'])) - - if getv(from_object, ['startOffset']) is not None: - setv(to_object, ['start_offset'], getv(from_object, ['startOffset'])) - - return to_object + if getv(from_object, ['retrieval']) is not None: + raise ValueError('retrieval parameter is not supported in Gemini API.') + if getv(from_object, ['google_search']) is not None: + setv( + to_object, + ['googleSearch'], + _GoogleSearch_to_mldev(getv(from_object, ['google_search']), to_object), + ) -def _VideoMetadata_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) + if getv(from_object, ['google_search_retrieval']) is not None: + setv( + to_object, + ['googleSearchRetrieval'], + getv(from_object, ['google_search_retrieval']), + ) - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) + if getv(from_object, ['enterprise_web_search']) is not None: + raise ValueError( + 'enterprise_web_search parameter is not supported in Gemini API.' + ) - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) + if getv(from_object, ['google_maps']) is not None: + raise ValueError('google_maps parameter is not supported in Gemini API.') - return to_object + if getv(from_object, ['url_context']) is not None: + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) + if getv(from_object, ['computer_use']) is not None: + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) -def _VoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_mldev( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) + if getv(from_object, ['code_execution']) is not None: + setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) return to_object @@ -2136,12 +1386,12 @@ def _create( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _BatchJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( @@ -2199,7 +1449,7 @@ def _create_embeddings( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) @@ -2276,12 +1526,12 @@ def get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _BatchJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( @@ -2400,12 +1650,12 @@ def _list( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListBatchJobsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListBatchJobsResponse_from_mldev(response_dict) return_value = types.ListBatchJobsResponse._from_response( @@ -2485,12 +1735,12 @@ def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteResourceJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteResourceJob_from_mldev(response_dict) return_value = types.DeleteResourceJob._from_response( @@ -2732,12 +1982,12 @@ async def _create( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _BatchJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( @@ -2795,7 +2045,7 @@ async def _create_embeddings( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) @@ -2874,12 +2124,12 @@ async def get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _BatchJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _BatchJob_from_mldev(response_dict) return_value = types.BatchJob._from_response( @@ -3000,12 +2250,12 @@ async def _list( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListBatchJobsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListBatchJobsResponse_from_mldev(response_dict) return_value = types.ListBatchJobsResponse._from_response( @@ -3085,12 +2335,12 @@ async def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteResourceJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteResourceJob_from_mldev(response_dict) return_value = types.DeleteResourceJob._from_response( diff --git a/google/genai/caches.py b/google/genai/caches.py index 8dbd89190..d80412769 100644 --- a/google/genai/caches.py +++ b/google/genai/caches.py @@ -33,62 +33,6 @@ logger = logging.getLogger('google_genai.caches') -def _Behavior_to_vertex_enum_validate(enum_value: Any) -> None: - if enum_value in set(['UNSPECIFIED', 'BLOCKING', 'NON_BLOCKING']): - raise ValueError(f'{enum_value} enum value is not supported in Vertex AI.') - - -def _ApiKeyConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_string']) is not None: - setv(to_object, ['apiKeyString'], getv(from_object, ['api_key_string'])) - - return to_object - - -def _AuthConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_config']) is not None: - setv( - to_object, - ['apiKeyConfig'], - _ApiKeyConfig_to_vertex( - getv(from_object, ['api_key_config']), to_object - ), - ) - - if getv(from_object, ['auth_type']) is not None: - setv(to_object, ['authType'], getv(from_object, ['auth_type'])) - - if getv(from_object, ['google_service_account_config']) is not None: - setv( - to_object, - ['googleServiceAccountConfig'], - getv(from_object, ['google_service_account_config']), - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - setv( - to_object, - ['httpBasicAuthConfig'], - getv(from_object, ['http_basic_auth_config']), - ) - - if getv(from_object, ['oauth_config']) is not None: - setv(to_object, ['oauthConfig'], getv(from_object, ['oauth_config'])) - - if getv(from_object, ['oidc_config']) is not None: - setv(to_object, ['oidcConfig'], getv(from_object, ['oidc_config'])) - - return to_object - - def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -106,81 +50,6 @@ def _Blob_to_mldev( return to_object -def _Blob_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _CachedContent_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['expireTime']) is not None: - setv(to_object, ['expire_time'], getv(from_object, ['expireTime'])) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - return to_object - - -def _CachedContent_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['expireTime']) is not None: - setv(to_object, ['expire_time'], getv(from_object, ['expireTime'])) - - if getv(from_object, ['usageMetadata']) is not None: - setv(to_object, ['usage_metadata'], getv(from_object, ['usageMetadata'])) - - return to_object - - def _Content_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -202,27 +71,6 @@ def _Content_to_mldev( return to_object -def _Content_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object - - def _CreateCachedContentConfig_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -268,11 +116,7 @@ def _CreateCachedContentConfig_to_mldev( ) if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev(getv(from_object, ['tool_config']), to_object), - ) + setv(parent_object, ['toolConfig'], getv(from_object, ['tool_config'])) if getv(from_object, ['kms_key_name']) is not None: raise ValueError('kms_key_name parameter is not supported in Gemini API.') @@ -299,19 +143,14 @@ def _CreateCachedContentConfig_to_vertex( setv( parent_object, ['contents'], - [ - _Content_to_vertex(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], + [item for item in t.t_contents(getv(from_object, ['contents']))], ) if getv(from_object, ['system_instruction']) is not None: setv( parent_object, ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), + t.t_content(getv(from_object, ['system_instruction'])), ) if getv(from_object, ['tools']) is not None: @@ -325,11 +164,7 @@ def _CreateCachedContentConfig_to_vertex( ) if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_vertex(getv(from_object, ['tool_config']), to_object), - ) + setv(parent_object, ['toolConfig'], getv(from_object, ['tool_config'])) if getv(from_object, ['kms_key_name']) is not None: setv( @@ -441,53 +276,6 @@ def _DeleteCachedContentResponse_from_vertex( return to_object -def _DynamicRetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - -def _DynamicRetrievalConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - -def _EnterpriseWebSearch_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) - - return to_object - - def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -505,130 +293,6 @@ def _FileData_to_mldev( return to_object -def _FileData_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCallingConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - return to_object - - -def _FunctionCallingConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - return to_object - - -def _FunctionDeclaration_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - setv(to_object, ['behavior'], getv(from_object, ['behavior'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - def _FunctionDeclaration_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -692,153 +356,26 @@ def _GetCachedContentParameters_to_vertex( setv( to_object, ['_url', 'name'], - t.t_cached_content_name(api_client, getv(from_object, ['name'])), - ) - - return to_object - - -def _GoogleMaps_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['auth_config']) is not None: - setv( - to_object, - ['authConfig'], - _AuthConfig_to_vertex(getv(from_object, ['auth_config']), to_object), - ) - - return to_object - - -def _GoogleSearchRetrieval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_mldev( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - -def _GoogleSearchRetrieval_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: - setv( - to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_vertex( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), - ) - - return to_object - - -def _GoogleSearch_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, - ['timeRangeFilter'], - _Interval_to_mldev(getv(from_object, ['time_range_filter']), to_object), - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is not supported in Gemini API.' - ) - - return to_object - - -def _GoogleSearch_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['time_range_filter']) is not None: - setv( - to_object, - ['timeRangeFilter'], - _Interval_to_vertex( - getv(from_object, ['time_range_filter']), to_object - ), - ) - - if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) - - return to_object - - -def _Interval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _Interval_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _LatLng_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['latitude']) is not None: - setv(to_object, ['latitude'], getv(from_object, ['latitude'])) - - if getv(from_object, ['longitude']) is not None: - setv(to_object, ['longitude'], getv(from_object, ['longitude'])) + t.t_cached_content_name(api_client, getv(from_object, ['name'])), + ) return to_object -def _LatLng_to_vertex( +def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['latitude']) is not None: - setv(to_object, ['latitude'], getv(from_object, ['latitude'])) + if getv(from_object, ['time_range_filter']) is not None: + setv( + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) + ) - if getv(from_object, ['longitude']) is not None: - setv(to_object, ['longitude'], getv(from_object, ['longitude'])) + if getv(from_object, ['exclude_domains']) is not None: + raise ValueError( + 'exclude_domains parameter is not supported in Gemini API.' + ) return to_object @@ -926,10 +463,7 @@ def _ListCachedContentsResponse_from_mldev( setv( to_object, ['cached_contents'], - [ - _CachedContent_from_mldev(item, to_object) - for item in getv(from_object, ['cachedContents']) - ], + [item for item in getv(from_object, ['cachedContents'])], ) return to_object @@ -952,10 +486,7 @@ def _ListCachedContentsResponse_from_vertex( setv( to_object, ['cached_contents'], - [ - _CachedContent_from_vertex(item, to_object) - for item in getv(from_object, ['cachedContents']) - ], + [item for item in getv(from_object, ['cachedContents'])], ) return to_object @@ -967,13 +498,7 @@ def _Part_to_mldev( ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_mldev( - getv(from_object, ['video_metadata']), to_object - ), - ) + setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) if getv(from_object, ['thought']) is not None: setv(to_object, ['thought'], getv(from_object, ['thought'])) @@ -1000,81 +525,7 @@ def _Part_to_mldev( ) if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), - ) - - if getv(from_object, ['code_execution_result']) is not None: - setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), - ) - - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: - setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _Part_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_vertex( - getv(from_object, ['video_metadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _Blob_to_vertex(getv(from_object, ['inline_data']), to_object), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FileData_to_vertex(getv(from_object, ['file_data']), to_object), - ) - - if getv(from_object, ['thought_signature']) is not None: - setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), - ) - - if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_vertex( - getv(from_object, ['function_call']), to_object - ), - ) + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) if getv(from_object, ['code_execution_result']) is not None: setv( @@ -1099,130 +550,6 @@ def _Part_to_vertex( return to_object -def _RetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['lat_lng']) is not None: - setv( - to_object, - ['latLng'], - _LatLng_to_mldev(getv(from_object, ['lat_lng']), to_object), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _RetrievalConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['lat_lng']) is not None: - setv( - to_object, - ['latLng'], - _LatLng_to_vertex(getv(from_object, ['lat_lng']), to_object), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _ToolComputerUse_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: - setv( - to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), - ) - - return to_object - - -def _ToolComputerUse_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: - setv( - to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), - ) - - return to_object - - -def _ToolConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), to_object - ), - ) - - if getv(from_object, ['retrieval_config']) is not None: - setv( - to_object, - ['retrievalConfig'], - _RetrievalConfig_to_mldev( - getv(from_object, ['retrieval_config']), to_object - ), - ) - - return to_object - - -def _ToolConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_vertex( - getv(from_object, ['function_calling_config']), to_object - ), - ) - - if getv(from_object, ['retrieval_config']) is not None: - setv( - to_object, - ['retrievalConfig'], - _RetrievalConfig_to_vertex( - getv(from_object, ['retrieval_config']), to_object - ), - ) - - return to_object - - def _Tool_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -1232,10 +559,7 @@ def _Tool_to_mldev( setv( to_object, ['functionDeclarations'], - [ - _FunctionDeclaration_to_mldev(item, to_object) - for item in getv(from_object, ['function_declarations']) - ], + [item for item in getv(from_object, ['function_declarations'])], ) if getv(from_object, ['retrieval']) is not None: @@ -1252,9 +576,7 @@ def _Tool_to_mldev( setv( to_object, ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_mldev( - getv(from_object, ['google_search_retrieval']), to_object - ), + getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['enterprise_web_search']) is not None: @@ -1266,20 +588,10 @@ def _Tool_to_mldev( raise ValueError('google_maps parameter is not supported in Gemini API.') if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_mldev(getv(from_object, ['url_context']), to_object), - ) + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) if getv(from_object, ['computer_use']) is not None: - setv( - to_object, - ['computerUse'], - _ToolComputerUse_to_mldev( - getv(from_object, ['computer_use']), to_object - ), - ) + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) @@ -1306,54 +618,30 @@ def _Tool_to_vertex( setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) if getv(from_object, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_vertex( - getv(from_object, ['google_search']), to_object - ), - ) + setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) if getv(from_object, ['google_search_retrieval']) is not None: setv( to_object, ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_vertex( - getv(from_object, ['google_search_retrieval']), to_object - ), + getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['enterprise_web_search']) is not None: setv( to_object, ['enterpriseWebSearch'], - _EnterpriseWebSearch_to_vertex( - getv(from_object, ['enterprise_web_search']), to_object - ), + getv(from_object, ['enterprise_web_search']), ) if getv(from_object, ['google_maps']) is not None: - setv( - to_object, - ['googleMaps'], - _GoogleMaps_to_vertex(getv(from_object, ['google_maps']), to_object), - ) + setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_vertex(getv(from_object, ['url_context']), to_object), - ) + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) if getv(from_object, ['computer_use']) is not None: - setv( - to_object, - ['computerUse'], - _ToolComputerUse_to_vertex( - getv(from_object, ['computer_use']), to_object - ), - ) + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) @@ -1433,58 +721,6 @@ def _UpdateCachedContentParameters_to_vertex( return to_object -def _UrlContext_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _UrlContext_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _VideoMetadata_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - -def _VideoMetadata_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - class Caches(_api_module.BaseModule): def create( @@ -1556,13 +792,7 @@ def create( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -1627,13 +857,7 @@ def get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -1702,12 +926,12 @@ def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteCachedContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteCachedContentResponse_from_mldev(response_dict) return_value = types.DeleteCachedContentResponse._from_response( @@ -1782,13 +1006,7 @@ def update( 'patch', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -1847,12 +1065,12 @@ def _list( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListCachedContentsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListCachedContentsResponse_from_mldev(response_dict) return_value = types.ListCachedContentsResponse._from_response( @@ -1946,13 +1164,7 @@ async def create( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -2020,13 +1232,7 @@ async def get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -2096,12 +1302,12 @@ async def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteCachedContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteCachedContentResponse_from_mldev(response_dict) return_value = types.DeleteCachedContentResponse._from_response( @@ -2176,13 +1382,7 @@ async def update( 'patch', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _CachedContent_from_vertex(response_dict) - - else: - response_dict = _CachedContent_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.CachedContent._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -2243,12 +1443,12 @@ async def _list( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListCachedContentsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListCachedContentsResponse_from_mldev(response_dict) return_value = types.ListCachedContentsResponse._from_response( diff --git a/google/genai/files.py b/google/genai/files.py index 4d02e8f79..b7b603617 100644 --- a/google/genai/files.py +++ b/google/genai/files.py @@ -41,11 +41,7 @@ def _CreateFileParameters_to_mldev( ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['file']) is not None: - setv( - to_object, - ['file'], - _File_to_mldev(getv(from_object, ['file']), to_object), - ) + setv(to_object, ['file'], getv(from_object, ['file'])) return to_object @@ -89,148 +85,6 @@ def _DeleteFileResponse_from_mldev( return to_object -def _FileStatus_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['details']) is not None: - setv(to_object, ['details'], getv(from_object, ['details'])) - - if getv(from_object, ['message']) is not None: - setv(to_object, ['message'], getv(from_object, ['message'])) - - if getv(from_object, ['code']) is not None: - setv(to_object, ['code'], getv(from_object, ['code'])) - - return to_object - - -def _FileStatus_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['details']) is not None: - setv(to_object, ['details'], getv(from_object, ['details'])) - - if getv(from_object, ['message']) is not None: - setv(to_object, ['message'], getv(from_object, ['message'])) - - if getv(from_object, ['code']) is not None: - setv(to_object, ['code'], getv(from_object, ['code'])) - - return to_object - - -def _File_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - if getv(from_object, ['sizeBytes']) is not None: - setv(to_object, ['size_bytes'], getv(from_object, ['sizeBytes'])) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['expirationTime']) is not None: - setv(to_object, ['expiration_time'], getv(from_object, ['expirationTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - if getv(from_object, ['sha256Hash']) is not None: - setv(to_object, ['sha256_hash'], getv(from_object, ['sha256Hash'])) - - if getv(from_object, ['uri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['uri'])) - - if getv(from_object, ['downloadUri']) is not None: - setv(to_object, ['download_uri'], getv(from_object, ['downloadUri'])) - - if getv(from_object, ['state']) is not None: - setv(to_object, ['state'], getv(from_object, ['state'])) - - if getv(from_object, ['source']) is not None: - setv(to_object, ['source'], getv(from_object, ['source'])) - - if getv(from_object, ['videoMetadata']) is not None: - setv(to_object, ['video_metadata'], getv(from_object, ['videoMetadata'])) - - if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _FileStatus_from_mldev(getv(from_object, ['error']), to_object), - ) - - return to_object - - -def _File_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - if getv(from_object, ['size_bytes']) is not None: - setv(to_object, ['sizeBytes'], getv(from_object, ['size_bytes'])) - - if getv(from_object, ['create_time']) is not None: - setv(to_object, ['createTime'], getv(from_object, ['create_time'])) - - if getv(from_object, ['expiration_time']) is not None: - setv(to_object, ['expirationTime'], getv(from_object, ['expiration_time'])) - - if getv(from_object, ['update_time']) is not None: - setv(to_object, ['updateTime'], getv(from_object, ['update_time'])) - - if getv(from_object, ['sha256_hash']) is not None: - setv(to_object, ['sha256Hash'], getv(from_object, ['sha256_hash'])) - - if getv(from_object, ['uri']) is not None: - setv(to_object, ['uri'], getv(from_object, ['uri'])) - - if getv(from_object, ['download_uri']) is not None: - setv(to_object, ['downloadUri'], getv(from_object, ['download_uri'])) - - if getv(from_object, ['state']) is not None: - setv(to_object, ['state'], getv(from_object, ['state'])) - - if getv(from_object, ['source']) is not None: - setv(to_object, ['source'], getv(from_object, ['source'])) - - if getv(from_object, ['video_metadata']) is not None: - setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) - - if getv(from_object, ['error']) is not None: - setv( - to_object, - ['error'], - _FileStatus_to_mldev(getv(from_object, ['error']), to_object), - ) - - return to_object - - def _GetFileParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -290,14 +144,7 @@ def _ListFilesResponse_from_mldev( setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken'])) if getv(from_object, ['files']) is not None: - setv( - to_object, - ['files'], - [ - _File_from_mldev(item, to_object) - for item in getv(from_object, ['files']) - ], - ) + setv(to_object, ['files'], [item for item in getv(from_object, ['files'])]) return to_object @@ -359,7 +206,7 @@ def _list( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _ListFilesResponse_from_mldev(response_dict) @@ -424,7 +271,7 @@ def _create( self._api_client._verify_response(return_value) return return_value - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _CreateFileResponse_from_mldev(response_dict) @@ -492,10 +339,7 @@ def get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) - - if not self._api_client.vertexai: - response_dict = _File_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.File._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -561,7 +405,7 @@ def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _DeleteFileResponse_from_mldev(response_dict) @@ -687,7 +531,7 @@ def upload( ) return types.File._from_response( - response=_File_from_mldev(return_file.json['file']), + response=return_file.json['file'], kwargs=config_model.model_dump() if config else {}, ) @@ -842,7 +686,7 @@ async def _list( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _ListFilesResponse_from_mldev(response_dict) @@ -907,7 +751,7 @@ async def _create( self._api_client._verify_response(return_value) return return_value - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _CreateFileResponse_from_mldev(response_dict) @@ -977,10 +821,7 @@ async def get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if not self._api_client.vertexai: - response_dict = _File_from_mldev(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.File._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -1046,7 +887,7 @@ async def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _DeleteFileResponse_from_mldev(response_dict) @@ -1177,7 +1018,7 @@ async def upload( ) return types.File._from_response( - response=_File_from_mldev(return_file.json['file']), + response=return_file.json['file'], kwargs=config_model.model_dump() if config else {}, ) diff --git a/google/genai/live.py b/google/genai/live.py index 3cb407619..163561bc0 100644 --- a/google/genai/live.py +++ b/google/genai/live.py @@ -21,7 +21,7 @@ import json import logging import typing -from typing import Any, AsyncIterator, Dict, Optional, Sequence, Union, get_args +from typing import Any, AsyncIterator, Optional, Sequence, Union, get_args import warnings import google.auth @@ -40,7 +40,6 @@ from ._common import set_value_by_path as setv from .live_music import AsyncLiveMusic from .models import _Content_to_mldev -from .models import _Content_to_vertex try: @@ -217,8 +216,8 @@ async def send_client_content( ) if self._api_client.vertexai: - client_content_dict = live_converters._LiveClientContent_to_vertex( - from_object=client_content + client_content_dict = _common.convert_to_dict( + client_content, convert_keys=True ) else: client_content_dict = live_converters._LiveClientContent_to_mldev( @@ -404,12 +403,12 @@ async def send_tool_response( """ tool_response = t.t_tool_response(function_responses) if self._api_client.vertexai: - tool_response_dict = live_converters._LiveClientToolResponse_to_vertex( - from_object=tool_response + tool_response_dict = _common.convert_to_dict( + tool_response, convert_keys=True ) else: - tool_response_dict = live_converters._LiveClientToolResponse_to_mldev( - from_object=tool_response + tool_response_dict = _common.convert_to_dict( + tool_response, convert_keys=True ) for response in tool_response_dict.get('functionResponses', []): if response.get('id') is None: @@ -535,7 +534,7 @@ async def _receive(self) -> types.LiveServerMessage: if self._api_client.vertexai: response_dict = live_converters._LiveServerMessage_from_vertex(response) else: - response_dict = live_converters._LiveServerMessage_from_mldev(response) + response_dict = response return types.LiveServerMessage._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -649,7 +648,7 @@ def _parse_client_message( content_input_parts.append(item) if self._api_client.vertexai: contents = [ - _Content_to_vertex(item, to_object) + _common.convert_to_dict(item, convert_keys=True) for item in t.t_contents(content_input_parts) ] else: diff --git a/google/genai/live_music.py b/google/genai/live_music.py index 421438192..2f739d5b6 100644 --- a/google/genai/live_music.py +++ b/google/genai/live_music.py @@ -22,13 +22,11 @@ from . import _api_module from . import _common +from . import _live_converters as live_converters from . import _transformers as t from . import types from ._api_client import BaseApiClient from ._common import set_value_by_path as setv -from . import _live_converters as live_converters -from .models import _Content_to_mldev -from .models import _Content_to_vertex try: @@ -44,46 +42,47 @@ class AsyncMusicSession: """[Experimental] AsyncMusicSession.""" - def __init__( - self, api_client: BaseApiClient, websocket: ClientConnection - ): + def __init__(self, api_client: BaseApiClient, websocket: ClientConnection): self._api_client = api_client self._ws = websocket async def set_weighted_prompts( - self, - prompts: list[types.WeightedPrompt] + self, prompts: list[types.WeightedPrompt] ) -> None: if self._api_client.vertexai: - raise NotImplementedError('Live music generation is not supported in Vertex AI.') - else: - client_content_dict = live_converters._LiveMusicClientContent_to_mldev( - from_object={'weighted_prompts': prompts} + raise NotImplementedError( + 'Live music generation is not supported in Vertex AI.' ) + else: + client_content_dict = { + 'weightedPrompts': [ + _common.convert_to_dict(prompt, convert_keys=True) + for prompt in prompts + ] + } + await self._ws.send(json.dumps({'clientContent': client_content_dict})) async def set_music_generation_config( - self, - config: types.LiveMusicGenerationConfig + self, config: types.LiveMusicGenerationConfig ) -> None: if self._api_client.vertexai: - raise NotImplementedError('Live music generation is not supported in Vertex AI.') - else: - config_dict = live_converters._LiveMusicGenerationConfig_to_mldev( - from_object=config + raise NotImplementedError( + 'Live music generation is not supported in Vertex AI.' ) + else: + config_dict = _common.convert_to_dict(config, convert_keys=True) await self._ws.send(json.dumps({'musicGenerationConfig': config_dict})) async def _send_control_signal( - self, - playback_control: types.LiveMusicPlaybackControl + self, playback_control: types.LiveMusicPlaybackControl ) -> None: if self._api_client.vertexai: - raise NotImplementedError('Live music generation is not supported in Vertex AI.') - else: - playback_control_dict = live_converters._LiveMusicClientMessage_to_mldev( - from_object={'playback_control': playback_control} + raise NotImplementedError( + 'Live music generation is not supported in Vertex AI.' ) + else: + playback_control_dict = {'playbackControl': playback_control.value} await self._ws.send(json.dumps(playback_control_dict)) async def play(self) -> None: @@ -134,9 +133,7 @@ async def _receive(self) -> types.LiveMusicServerMessage: if self._api_client.vertexai: raise NotImplementedError('Live music generation is not supported in Vertex AI.') else: - response_dict = live_converters._LiveMusicServerMessage_from_mldev( - response - ) + response_dict = response return types.LiveMusicServerMessage._from_response( response=response_dict, kwargs=parameter_model.model_dump() diff --git a/google/genai/models.py b/google/genai/models.py index a63c8e08a..909e0c5da 100644 --- a/google/genai/models.py +++ b/google/genai/models.py @@ -37,11 +37,6 @@ logger = logging.getLogger('google_genai.models') -def _Behavior_to_vertex_enum_validate(enum_value: Any) -> None: - if enum_value in set(['UNSPECIFIED', 'BLOCKING', 'NON_BLOCKING']): - raise ValueError(f'{enum_value} enum value is not supported in Vertex AI.') - - def _PersonGeneration_to_mldev_enum_validate(enum_value: Any) -> None: if enum_value in set(['ALLOW_ALL']): raise ValueError(f'{enum_value} enum value is not supported in Gemini API.') @@ -52,89 +47,6 @@ def _SafetyFilterLevel_to_mldev_enum_validate(enum_value: Any) -> None: raise ValueError(f'{enum_value} enum value is not supported in Gemini API.') -def _ApiKeyConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_string']) is not None: - setv(to_object, ['apiKeyString'], getv(from_object, ['api_key_string'])) - - return to_object - - -def _AuthConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['api_key_config']) is not None: - setv( - to_object, - ['apiKeyConfig'], - _ApiKeyConfig_to_vertex( - getv(from_object, ['api_key_config']), to_object - ), - ) - - if getv(from_object, ['auth_type']) is not None: - setv(to_object, ['authType'], getv(from_object, ['auth_type'])) - - if getv(from_object, ['google_service_account_config']) is not None: - setv( - to_object, - ['googleServiceAccountConfig'], - getv(from_object, ['google_service_account_config']), - ) - - if getv(from_object, ['http_basic_auth_config']) is not None: - setv( - to_object, - ['httpBasicAuthConfig'], - getv(from_object, ['http_basic_auth_config']), - ) - - if getv(from_object, ['oauth_config']) is not None: - setv(to_object, ['oauthConfig'], getv(from_object, ['oauth_config'])) - - if getv(from_object, ['oidc_config']) is not None: - setv(to_object, ['oidcConfig'], getv(from_object, ['oidc_config'])) - - return to_object - - -def _Blob_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _Blob_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - def _Blob_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -152,34 +64,13 @@ def _Blob_to_mldev( return to_object -def _Blob_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['data']) is not None: - setv(to_object, ['data'], getv(from_object, ['data'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - def _Candidate_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['content']) is not None: - setv( - to_object, - ['content'], - _Content_from_mldev(getv(from_object, ['content']), to_object), - ) + setv(to_object, ['content'], getv(from_object, ['content'])) if getv(from_object, ['citationMetadata']) is not None: setv( @@ -200,9 +91,7 @@ def _Candidate_from_mldev( setv( to_object, ['url_context_metadata'], - _UrlContextMetadata_from_mldev( - getv(from_object, ['urlContextMetadata']), to_object - ), + getv(from_object, ['urlContextMetadata']), ) if getv(from_object, ['avgLogprobs']) is not None: @@ -222,83 +111,12 @@ def _Candidate_from_mldev( setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) if getv(from_object, ['safetyRatings']) is not None: - setv(to_object, ['safety_ratings'], getv(from_object, ['safetyRatings'])) - - return to_object - - -def _Candidate_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['content']) is not None: - setv( - to_object, - ['content'], - _Content_from_vertex(getv(from_object, ['content']), to_object), - ) - - if getv(from_object, ['citationMetadata']) is not None: setv( to_object, - ['citation_metadata'], - _CitationMetadata_from_vertex( - getv(from_object, ['citationMetadata']), to_object - ), - ) - - if getv(from_object, ['finishMessage']) is not None: - setv(to_object, ['finish_message'], getv(from_object, ['finishMessage'])) - - if getv(from_object, ['finishReason']) is not None: - setv(to_object, ['finish_reason'], getv(from_object, ['finishReason'])) - - if getv(from_object, ['urlContextMetadata']) is not None: - setv( - to_object, - ['url_context_metadata'], - _UrlContextMetadata_from_vertex( - getv(from_object, ['urlContextMetadata']), to_object - ), - ) - - if getv(from_object, ['avgLogprobs']) is not None: - setv(to_object, ['avg_logprobs'], getv(from_object, ['avgLogprobs'])) - - if getv(from_object, ['groundingMetadata']) is not None: - setv( - to_object, - ['grounding_metadata'], - getv(from_object, ['groundingMetadata']), + ['safety_ratings'], + [item for item in getv(from_object, ['safetyRatings'])], ) - if getv(from_object, ['index']) is not None: - setv(to_object, ['index'], getv(from_object, ['index'])) - - if getv(from_object, ['logprobsResult']) is not None: - setv(to_object, ['logprobs_result'], getv(from_object, ['logprobsResult'])) - - if getv(from_object, ['safetyRatings']) is not None: - setv(to_object, ['safety_ratings'], getv(from_object, ['safetyRatings'])) - - return to_object - - -def _Checkpoint_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['checkpointId']) is not None: - setv(to_object, ['checkpoint_id'], getv(from_object, ['checkpointId'])) - - if getv(from_object, ['epoch']) is not None: - setv(to_object, ['epoch'], getv(from_object, ['epoch'])) - - if getv(from_object, ['step']) is not None: - setv(to_object, ['step'], getv(from_object, ['step'])) - return to_object @@ -308,18 +126,11 @@ def _CitationMetadata_from_mldev( ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['citationSources']) is not None: - setv(to_object, ['citations'], getv(from_object, ['citationSources'])) - - return to_object - - -def _CitationMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['citations']) is not None: - setv(to_object, ['citations'], getv(from_object, ['citations'])) + setv( + to_object, + ['citations'], + [item for item in getv(from_object, ['citationSources'])], + ) return to_object @@ -341,10 +152,7 @@ def _ComputeTokensParameters_to_vertex( setv( to_object, ['contents'], - [ - _Content_to_vertex(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], + [item for item in t.t_contents(getv(from_object, ['contents']))], ) return to_object @@ -361,7 +169,11 @@ def _ComputeTokensResponse_from_vertex( ) if getv(from_object, ['tokensInfo']) is not None: - setv(to_object, ['tokens_info'], getv(from_object, ['tokensInfo'])) + setv( + to_object, + ['tokens_info'], + [item for item in getv(from_object, ['tokensInfo'])], + ) return to_object @@ -380,17 +192,6 @@ def _ContentEmbeddingStatistics_from_vertex( return to_object -def _ContentEmbedding_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['values']) is not None: - setv(to_object, ['values'], getv(from_object, ['values'])) - - return to_object - - def _ContentEmbedding_from_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -411,48 +212,6 @@ def _ContentEmbedding_from_vertex( return to_object -def _Content_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_from_mldev(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object - - -def _Content_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_from_vertex(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object - - def _Content_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -474,27 +233,6 @@ def _Content_to_mldev( return to_object -def _Content_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['parts']) is not None: - setv( - to_object, - ['parts'], - [ - _Part_to_vertex(item, to_object) - for item in getv(from_object, ['parts']) - ], - ) - - if getv(from_object, ['role']) is not None: - setv(to_object, ['role'], getv(from_object, ['role'])) - - return to_object - - def _ControlReferenceConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -545,9 +283,7 @@ def _CountTokensConfig_to_vertex( setv( parent_object, ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), + t.t_content(getv(from_object, ['system_instruction'])), ) if getv(from_object, ['tools']) is not None: @@ -564,7 +300,9 @@ def _CountTokensConfig_to_vertex( setv( parent_object, ['generationConfig'], - getv(from_object, ['generation_config']), + _GenerationConfig_to_vertex( + getv(from_object, ['generation_config']), to_object + ), ) return to_object @@ -616,10 +354,7 @@ def _CountTokensParameters_to_vertex( setv( to_object, ['contents'], - [ - _Content_to_vertex(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], + [item for item in t.t_contents(getv(from_object, ['contents']))], ) if getv(from_object, ['config']) is not None: @@ -725,42 +460,6 @@ def _DeleteModelResponse_from_vertex( return to_object -def _DynamicRetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - -def _DynamicRetrievalConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['dynamic_threshold']) is not None: - setv( - to_object, - ['dynamicThreshold'], - getv(from_object, ['dynamic_threshold']), - ) - - return to_object - - def _EditImageConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -1005,32 +704,8 @@ def _EmbedContentConfig_to_vertex( return to_object -def _EmbedContentMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _EmbedContentMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['billableCharacterCount']) is not None: - setv( - to_object, - ['billable_character_count'], - getv(from_object, ['billableCharacterCount']), - ) - - return to_object - - -def _EmbedContentParameters_to_mldev( - api_client: BaseApiClient, +def _EmbedContentParameters_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: @@ -1046,7 +721,12 @@ def _EmbedContentParameters_to_mldev( setv( to_object, ['requests[]', 'content'], - t.t_contents_for_embed(api_client, getv(from_object, ['contents'])), + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], ) if getv(from_object, ['config']) is not None: @@ -1077,7 +757,12 @@ def _EmbedContentParameters_to_vertex( setv( to_object, ['instances[]', 'content'], - t.t_contents_for_embed(api_client, getv(from_object, ['contents'])), + [ + item + for item in t.t_contents_for_embed( + api_client, getv(from_object, ['contents']) + ) + ], ) if getv(from_object, ['config']) is not None: @@ -1100,20 +785,11 @@ def _EmbedContentResponse_from_mldev( setv( to_object, ['embeddings'], - [ - _ContentEmbedding_from_mldev(item, to_object) - for item in getv(from_object, ['embeddings']) - ], + [item for item in getv(from_object, ['embeddings'])], ) if getv(from_object, ['metadata']) is not None: - setv( - to_object, - ['metadata'], - _EmbedContentMetadata_from_mldev( - getv(from_object, ['metadata']), to_object - ), - ) + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) return to_object @@ -1139,13 +815,7 @@ def _EmbedContentResponse_from_vertex( ) if getv(from_object, ['metadata']) is not None: - setv( - to_object, - ['metadata'], - _EmbedContentMetadata_from_vertex( - getv(from_object, ['metadata']), to_object - ), - ) + setv(to_object, ['metadata'], getv(from_object, ['metadata'])) return to_object @@ -1166,63 +836,6 @@ def _Endpoint_from_vertex( return to_object -def _EnterpriseWebSearch_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) - - return to_object - - -def _EntityLabel_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['label']) is not None: - setv(to_object, ['label'], getv(from_object, ['label'])) - - if getv(from_object, ['score']) is not None: - setv(to_object, ['score'], getv(from_object, ['score'])) - - return to_object - - -def _FileData_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['fileUri']) is not None: - setv(to_object, ['file_uri'], getv(from_object, ['fileUri'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - -def _FileData_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['displayName']) is not None: - setv(to_object, ['display_name'], getv(from_object, ['displayName'])) - - if getv(from_object, ['fileUri']) is not None: - setv(to_object, ['file_uri'], getv(from_object, ['fileUri'])) - - if getv(from_object, ['mimeType']) is not None: - setv(to_object, ['mime_type'], getv(from_object, ['mimeType'])) - - return to_object - - def _FileData_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -1240,164 +853,6 @@ def _FileData_to_mldev( return to_object -def _FileData_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['display_name']) is not None: - setv(to_object, ['displayName'], getv(from_object, ['display_name'])) - - if getv(from_object, ['file_uri']) is not None: - setv(to_object, ['fileUri'], getv(from_object, ['file_uri'])) - - if getv(from_object, ['mime_type']) is not None: - setv(to_object, ['mimeType'], getv(from_object, ['mime_type'])) - - return to_object - - -def _FunctionCall_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCall_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['id']) is not None: - setv(to_object, ['id'], getv(from_object, ['id'])) - - if getv(from_object, ['args']) is not None: - setv(to_object, ['args'], getv(from_object, ['args'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - return to_object - - -def _FunctionCallingConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - return to_object - - -def _FunctionCallingConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['mode']) is not None: - setv(to_object, ['mode'], getv(from_object, ['mode'])) - - if getv(from_object, ['allowed_function_names']) is not None: - setv( - to_object, - ['allowedFunctionNames'], - getv(from_object, ['allowed_function_names']), - ) - - return to_object - - -def _FunctionDeclaration_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['behavior']) is not None: - setv(to_object, ['behavior'], getv(from_object, ['behavior'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['parameters']) is not None: - setv(to_object, ['parameters'], getv(from_object, ['parameters'])) - - if getv(from_object, ['parameters_json_schema']) is not None: - setv( - to_object, - ['parametersJsonSchema'], - getv(from_object, ['parameters_json_schema']), - ) - - if getv(from_object, ['response']) is not None: - setv(to_object, ['response'], getv(from_object, ['response'])) - - if getv(from_object, ['response_json_schema']) is not None: - setv( - to_object, - ['responseJsonSchema'], - getv(from_object, ['response_json_schema']), - ) - - return to_object - - def _FunctionDeclaration_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -1507,10 +962,7 @@ def _GenerateContentConfig_to_mldev( setv( to_object, ['responseSchema'], - _Schema_to_mldev( - t.t_schema(api_client, getv(from_object, ['response_schema'])), - to_object, - ), + t.t_schema(api_client, getv(from_object, ['response_schema'])), ) if getv(from_object, ['response_json_schema']) is not None: @@ -1549,11 +1001,7 @@ def _GenerateContentConfig_to_mldev( ) if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_mldev(getv(from_object, ['tool_config']), to_object), - ) + setv(parent_object, ['toolConfig'], getv(from_object, ['tool_config'])) if getv(from_object, ['labels']) is not None: raise ValueError('labels parameter is not supported in Gemini API.') @@ -1583,9 +1031,7 @@ def _GenerateContentConfig_to_mldev( setv( to_object, ['speechConfig'], - _SpeechConfig_to_mldev( - t.t_speech_config(getv(from_object, ['speech_config'])), to_object - ), + t.t_speech_config(getv(from_object, ['speech_config'])), ) if getv(from_object, ['audio_timestamp']) is not None: @@ -1594,13 +1040,7 @@ def _GenerateContentConfig_to_mldev( ) if getv(from_object, ['thinking_config']) is not None: - setv( - to_object, - ['thinkingConfig'], - _ThinkingConfig_to_mldev( - getv(from_object, ['thinking_config']), to_object - ), - ) + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) return to_object @@ -1616,9 +1056,7 @@ def _GenerateContentConfig_to_vertex( setv( parent_object, ['systemInstruction'], - _Content_to_vertex( - t.t_content(getv(from_object, ['system_instruction'])), to_object - ), + t.t_content(getv(from_object, ['system_instruction'])), ) if getv(from_object, ['temperature']) is not None: @@ -1677,10 +1115,7 @@ def _GenerateContentConfig_to_vertex( setv( to_object, ['responseSchema'], - _Schema_to_vertex( - t.t_schema(api_client, getv(from_object, ['response_schema'])), - to_object, - ), + t.t_schema(api_client, getv(from_object, ['response_schema'])), ) if getv(from_object, ['response_json_schema']) is not None: @@ -1697,19 +1132,14 @@ def _GenerateContentConfig_to_vertex( setv( to_object, ['modelConfig'], - _ModelSelectionConfig_to_vertex( - getv(from_object, ['model_selection_config']), to_object - ), + getv(from_object, ['model_selection_config']), ) if getv(from_object, ['safety_settings']) is not None: setv( parent_object, ['safetySettings'], - [ - _SafetySetting_to_vertex(item, to_object) - for item in getv(from_object, ['safety_settings']) - ], + [item for item in getv(from_object, ['safety_settings'])], ) if getv(from_object, ['tools']) is not None: @@ -1723,11 +1153,7 @@ def _GenerateContentConfig_to_vertex( ) if getv(from_object, ['tool_config']) is not None: - setv( - parent_object, - ['toolConfig'], - _ToolConfig_to_vertex(getv(from_object, ['tool_config']), to_object), - ) + setv(parent_object, ['toolConfig'], getv(from_object, ['tool_config'])) if getv(from_object, ['labels']) is not None: setv(parent_object, ['labels'], getv(from_object, ['labels'])) @@ -1766,13 +1192,7 @@ def _GenerateContentConfig_to_vertex( setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) if getv(from_object, ['thinking_config']) is not None: - setv( - to_object, - ['thinkingConfig'], - _ThinkingConfig_to_vertex( - getv(from_object, ['thinking_config']), to_object - ), - ) + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) return to_object @@ -1829,10 +1249,7 @@ def _GenerateContentParameters_to_vertex( setv( to_object, ['contents'], - [ - _Content_to_vertex(item, to_object) - for item in t.t_contents(getv(from_object, ['contents'])) - ], + [item for item in t.t_contents(getv(from_object, ['contents']))], ) if getv(from_object, ['config']) is not None: @@ -1896,10 +1313,7 @@ def _GenerateContentResponse_from_vertex( setv( to_object, ['candidates'], - [ - _Candidate_from_vertex(item, to_object) - for item in getv(from_object, ['candidates']) - ], + [item for item in getv(from_object, ['candidates'])], ) if getv(from_object, ['createTime']) is not None: @@ -2737,12 +2151,7 @@ def _GeneratedImageMask_from_vertex( if getv(from_object, ['labels']) is not None: setv( - to_object, - ['labels'], - [ - _EntityLabel_from_vertex(item, to_object) - for item in getv(from_object, ['labels']) - ], + to_object, ['labels'], [item for item in getv(from_object, ['labels'])] ) return to_object @@ -2839,123 +2248,166 @@ def _GeneratedVideo_from_vertex( return to_object -def _GetModelParameters_to_mldev( - api_client: BaseApiClient, +def _GenerationConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: + if getv(from_object, ['model_selection_config']) is not None: setv( to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), + ['modelConfig'], + getv(from_object, ['model_selection_config']), ) - return to_object + if getv(from_object, ['audio_timestamp']) is not None: + setv(to_object, ['audioTimestamp'], getv(from_object, ['audio_timestamp'])) + if getv(from_object, ['candidate_count']) is not None: + setv(to_object, ['candidateCount'], getv(from_object, ['candidate_count'])) -def _GetModelParameters_to_vertex( - api_client: BaseApiClient, - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: + if getv(from_object, ['enable_affective_dialog']) is not None: setv( to_object, - ['_url', 'name'], - t.t_model(api_client, getv(from_object, ['model'])), + ['enableAffectiveDialog'], + getv(from_object, ['enable_affective_dialog']), ) - return to_object + if getv(from_object, ['frequency_penalty']) is not None: + setv( + to_object, + ['frequencyPenalty'], + getv(from_object, ['frequency_penalty']), + ) + if getv(from_object, ['logprobs']) is not None: + setv(to_object, ['logprobs'], getv(from_object, ['logprobs'])) -def _GoogleMaps_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['auth_config']) is not None: + if getv(from_object, ['max_output_tokens']) is not None: + setv( + to_object, ['maxOutputTokens'], getv(from_object, ['max_output_tokens']) + ) + + if getv(from_object, ['media_resolution']) is not None: + setv( + to_object, ['mediaResolution'], getv(from_object, ['media_resolution']) + ) + + if getv(from_object, ['presence_penalty']) is not None: + setv( + to_object, ['presencePenalty'], getv(from_object, ['presence_penalty']) + ) + + if getv(from_object, ['response_json_schema']) is not None: setv( to_object, - ['authConfig'], - _AuthConfig_to_vertex(getv(from_object, ['auth_config']), to_object), + ['responseJsonSchema'], + getv(from_object, ['response_json_schema']), ) - return to_object + if getv(from_object, ['response_logprobs']) is not None: + setv( + to_object, + ['responseLogprobs'], + getv(from_object, ['response_logprobs']), + ) + + if getv(from_object, ['response_mime_type']) is not None: + setv( + to_object, + ['responseMimeType'], + getv(from_object, ['response_mime_type']), + ) + + if getv(from_object, ['response_modalities']) is not None: + setv( + to_object, + ['responseModalities'], + getv(from_object, ['response_modalities']), + ) + if getv(from_object, ['response_schema']) is not None: + setv(to_object, ['responseSchema'], getv(from_object, ['response_schema'])) -def _GoogleSearchRetrieval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: + if getv(from_object, ['routing_config']) is not None: + setv(to_object, ['routingConfig'], getv(from_object, ['routing_config'])) + + if getv(from_object, ['seed']) is not None: + setv(to_object, ['seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['speech_config']) is not None: setv( to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_mldev( - getv(from_object, ['dynamic_retrieval_config']), to_object + ['speechConfig'], + _SpeechConfig_to_vertex( + getv(from_object, ['speech_config']), to_object ), ) + if getv(from_object, ['stop_sequences']) is not None: + setv(to_object, ['stopSequences'], getv(from_object, ['stop_sequences'])) + + if getv(from_object, ['temperature']) is not None: + setv(to_object, ['temperature'], getv(from_object, ['temperature'])) + + if getv(from_object, ['thinking_config']) is not None: + setv(to_object, ['thinkingConfig'], getv(from_object, ['thinking_config'])) + + if getv(from_object, ['top_k']) is not None: + setv(to_object, ['topK'], getv(from_object, ['top_k'])) + + if getv(from_object, ['top_p']) is not None: + setv(to_object, ['topP'], getv(from_object, ['top_p'])) + return to_object -def _GoogleSearchRetrieval_to_vertex( +def _GetModelParameters_to_mldev( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['dynamic_retrieval_config']) is not None: + if getv(from_object, ['model']) is not None: setv( to_object, - ['dynamicRetrievalConfig'], - _DynamicRetrievalConfig_to_vertex( - getv(from_object, ['dynamic_retrieval_config']), to_object - ), + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), ) return to_object -def _GoogleSearch_to_mldev( +def _GetModelParameters_to_vertex( + api_client: BaseApiClient, from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['time_range_filter']) is not None: + if getv(from_object, ['model']) is not None: setv( to_object, - ['timeRangeFilter'], - _Interval_to_mldev(getv(from_object, ['time_range_filter']), to_object), - ) - - if getv(from_object, ['exclude_domains']) is not None: - raise ValueError( - 'exclude_domains parameter is not supported in Gemini API.' + ['_url', 'name'], + t.t_model(api_client, getv(from_object, ['model'])), ) return to_object -def _GoogleSearch_to_vertex( +def _GoogleSearch_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} if getv(from_object, ['time_range_filter']) is not None: setv( - to_object, - ['timeRangeFilter'], - _Interval_to_vertex( - getv(from_object, ['time_range_filter']), to_object - ), + to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter']) ) if getv(from_object, ['exclude_domains']) is not None: - setv(to_object, ['excludeDomains'], getv(from_object, ['exclude_domains'])) + raise ValueError( + 'exclude_domains parameter is not supported in Gemini API.' + ) return to_object @@ -3042,62 +2494,6 @@ def _Image_to_vertex( return to_object -def _Interval_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _Interval_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['start_time']) is not None: - setv(to_object, ['startTime'], getv(from_object, ['start_time'])) - - if getv(from_object, ['end_time']) is not None: - setv(to_object, ['endTime'], getv(from_object, ['end_time'])) - - return to_object - - -def _LatLng_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['latitude']) is not None: - setv(to_object, ['latitude'], getv(from_object, ['latitude'])) - - if getv(from_object, ['longitude']) is not None: - setv(to_object, ['longitude'], getv(from_object, ['longitude'])) - - return to_object - - -def _LatLng_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['latitude']) is not None: - setv(to_object, ['latitude'], getv(from_object, ['latitude'])) - - if getv(from_object, ['longitude']) is not None: - setv(to_object, ['longitude'], getv(from_object, ['longitude'])) - - return to_object - - def _ListModelsConfig_to_mldev( api_client: BaseApiClient, from_object: Union[dict[str, Any], object], @@ -3261,21 +2657,6 @@ def _MaskReferenceConfig_to_vertex( return to_object -def _ModelSelectionConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['feature_selection_preference']) is not None: - setv( - to_object, - ['featureSelectionPreference'], - getv(from_object, ['feature_selection_preference']), - ) - - return to_object - - def _Model_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -3294,11 +2675,7 @@ def _Model_from_mldev( setv(to_object, ['version'], getv(from_object, ['version'])) if getv(from_object, ['_self']) is not None: - setv( - to_object, - ['tuned_model_info'], - _TunedModelInfo_from_mldev(getv(from_object, ['_self']), to_object), - ) + setv(to_object, ['tuned_model_info'], getv(from_object, ['_self'])) if getv(from_object, ['inputTokenLimit']) is not None: setv( @@ -3370,95 +2747,62 @@ def _Model_from_vertex( setv( to_object, ['checkpoints'], - [ - _Checkpoint_from_vertex(item, to_object) - for item in getv(from_object, ['checkpoints']) - ], - ) - - return to_object - - -def _MultiSpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker_voice_configs']) is not None: - setv( - to_object, - ['speakerVoiceConfigs'], - [ - _SpeakerVoiceConfig_to_mldev(item, to_object) - for item in getv(from_object, ['speaker_voice_configs']) - ], + [item for item in getv(from_object, ['checkpoints'])], ) return to_object -def _Part_from_mldev( +def _Part_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['videoMetadata']) is not None: - setv( - to_object, - ['video_metadata'], - _VideoMetadata_from_mldev( - getv(from_object, ['videoMetadata']), to_object - ), - ) + if getv(from_object, ['video_metadata']) is not None: + setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata'])) if getv(from_object, ['thought']) is not None: setv(to_object, ['thought'], getv(from_object, ['thought'])) - if getv(from_object, ['inlineData']) is not None: + if getv(from_object, ['inline_data']) is not None: setv( to_object, - ['inline_data'], - _Blob_from_mldev(getv(from_object, ['inlineData']), to_object), + ['inlineData'], + _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), ) - if getv(from_object, ['fileData']) is not None: + if getv(from_object, ['file_data']) is not None: setv( to_object, - ['file_data'], - _FileData_from_mldev(getv(from_object, ['fileData']), to_object), + ['fileData'], + _FileData_to_mldev(getv(from_object, ['file_data']), to_object), ) - if getv(from_object, ['thoughtSignature']) is not None: + if getv(from_object, ['thought_signature']) is not None: setv( to_object, - ['thought_signature'], - getv(from_object, ['thoughtSignature']), + ['thoughtSignature'], + getv(from_object, ['thought_signature']), ) - if getv(from_object, ['functionCall']) is not None: - setv( - to_object, - ['function_call'], - _FunctionCall_from_mldev( - getv(from_object, ['functionCall']), to_object - ), - ) + if getv(from_object, ['function_call']) is not None: + setv(to_object, ['functionCall'], getv(from_object, ['function_call'])) - if getv(from_object, ['codeExecutionResult']) is not None: + if getv(from_object, ['code_execution_result']) is not None: setv( to_object, - ['code_execution_result'], - getv(from_object, ['codeExecutionResult']), + ['codeExecutionResult'], + getv(from_object, ['code_execution_result']), ) - if getv(from_object, ['executableCode']) is not None: - setv(to_object, ['executable_code'], getv(from_object, ['executableCode'])) + if getv(from_object, ['executable_code']) is not None: + setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - if getv(from_object, ['functionResponse']) is not None: + if getv(from_object, ['function_response']) is not None: setv( to_object, - ['function_response'], - getv(from_object, ['functionResponse']), + ['functionResponse'], + getv(from_object, ['function_response']), ) if getv(from_object, ['text']) is not None: @@ -3467,300 +2811,70 @@ def _Part_from_mldev( return to_object -def _Part_from_vertex( +def _ProductImage_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['videoMetadata']) is not None: + if getv(from_object, ['product_image']) is not None: setv( to_object, - ['video_metadata'], - _VideoMetadata_from_vertex( - getv(from_object, ['videoMetadata']), to_object - ), + ['image'], + _Image_to_vertex(getv(from_object, ['product_image']), to_object), ) - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) + return to_object + + +def _RecontextImageConfig_to_vertex( + from_object: Union[dict[str, Any], object], + parent_object: Optional[dict[str, Any]] = None, +) -> dict[str, Any]: + to_object: dict[str, Any] = {} - if getv(from_object, ['inlineData']) is not None: + if getv(from_object, ['number_of_images']) is not None: setv( - to_object, - ['inline_data'], - _Blob_from_vertex(getv(from_object, ['inlineData']), to_object), + parent_object, + ['parameters', 'sampleCount'], + getv(from_object, ['number_of_images']), ) - if getv(from_object, ['fileData']) is not None: + if getv(from_object, ['base_steps']) is not None: setv( - to_object, - ['file_data'], - _FileData_from_vertex(getv(from_object, ['fileData']), to_object), + parent_object, + ['parameters', 'editConfig', 'baseSteps'], + getv(from_object, ['base_steps']), ) - if getv(from_object, ['thoughtSignature']) is not None: + if getv(from_object, ['output_gcs_uri']) is not None: setv( - to_object, - ['thought_signature'], - getv(from_object, ['thoughtSignature']), + parent_object, + ['parameters', 'storageUri'], + getv(from_object, ['output_gcs_uri']), ) - if getv(from_object, ['functionCall']) is not None: + if getv(from_object, ['seed']) is not None: + setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) + + if getv(from_object, ['safety_filter_level']) is not None: setv( - to_object, - ['function_call'], - _FunctionCall_from_vertex( - getv(from_object, ['functionCall']), to_object - ), + parent_object, + ['parameters', 'safetySetting'], + getv(from_object, ['safety_filter_level']), ) - if getv(from_object, ['codeExecutionResult']) is not None: + if getv(from_object, ['person_generation']) is not None: setv( - to_object, - ['code_execution_result'], - getv(from_object, ['codeExecutionResult']), + parent_object, + ['parameters', 'personGeneration'], + getv(from_object, ['person_generation']), ) - if getv(from_object, ['executableCode']) is not None: - setv(to_object, ['executable_code'], getv(from_object, ['executableCode'])) - - if getv(from_object, ['functionResponse']) is not None: + if getv(from_object, ['add_watermark']) is not None: setv( - to_object, - ['function_response'], - getv(from_object, ['functionResponse']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _Part_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_mldev( - getv(from_object, ['video_metadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _Blob_to_mldev(getv(from_object, ['inline_data']), to_object), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FileData_to_mldev(getv(from_object, ['file_data']), to_object), - ) - - if getv(from_object, ['thought_signature']) is not None: - setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), - ) - - if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_mldev(getv(from_object, ['function_call']), to_object), - ) - - if getv(from_object, ['code_execution_result']) is not None: - setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), - ) - - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: - setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _Part_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['video_metadata']) is not None: - setv( - to_object, - ['videoMetadata'], - _VideoMetadata_to_vertex( - getv(from_object, ['video_metadata']), to_object - ), - ) - - if getv(from_object, ['thought']) is not None: - setv(to_object, ['thought'], getv(from_object, ['thought'])) - - if getv(from_object, ['inline_data']) is not None: - setv( - to_object, - ['inlineData'], - _Blob_to_vertex(getv(from_object, ['inline_data']), to_object), - ) - - if getv(from_object, ['file_data']) is not None: - setv( - to_object, - ['fileData'], - _FileData_to_vertex(getv(from_object, ['file_data']), to_object), - ) - - if getv(from_object, ['thought_signature']) is not None: - setv( - to_object, - ['thoughtSignature'], - getv(from_object, ['thought_signature']), - ) - - if getv(from_object, ['function_call']) is not None: - setv( - to_object, - ['functionCall'], - _FunctionCall_to_vertex( - getv(from_object, ['function_call']), to_object - ), - ) - - if getv(from_object, ['code_execution_result']) is not None: - setv( - to_object, - ['codeExecutionResult'], - getv(from_object, ['code_execution_result']), - ) - - if getv(from_object, ['executable_code']) is not None: - setv(to_object, ['executableCode'], getv(from_object, ['executable_code'])) - - if getv(from_object, ['function_response']) is not None: - setv( - to_object, - ['functionResponse'], - getv(from_object, ['function_response']), - ) - - if getv(from_object, ['text']) is not None: - setv(to_object, ['text'], getv(from_object, ['text'])) - - return to_object - - -def _PrebuiltVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) - - return to_object - - -def _PrebuiltVoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_name']) is not None: - setv(to_object, ['voiceName'], getv(from_object, ['voice_name'])) - - return to_object - - -def _ProductImage_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['product_image']) is not None: - setv( - to_object, - ['image'], - _Image_to_vertex(getv(from_object, ['product_image']), to_object), - ) - - return to_object - - -def _RecontextImageConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - if getv(from_object, ['number_of_images']) is not None: - setv( - parent_object, - ['parameters', 'sampleCount'], - getv(from_object, ['number_of_images']), - ) - - if getv(from_object, ['base_steps']) is not None: - setv( - parent_object, - ['parameters', 'editConfig', 'baseSteps'], - getv(from_object, ['base_steps']), - ) - - if getv(from_object, ['output_gcs_uri']) is not None: - setv( - parent_object, - ['parameters', 'storageUri'], - getv(from_object, ['output_gcs_uri']), - ) - - if getv(from_object, ['seed']) is not None: - setv(parent_object, ['parameters', 'seed'], getv(from_object, ['seed'])) - - if getv(from_object, ['safety_filter_level']) is not None: - setv( - parent_object, - ['parameters', 'safetySetting'], - getv(from_object, ['safety_filter_level']), - ) - - if getv(from_object, ['person_generation']) is not None: - setv( - parent_object, - ['parameters', 'personGeneration'], - getv(from_object, ['person_generation']), - ) - - if getv(from_object, ['add_watermark']) is not None: - setv( - parent_object, - ['parameters', 'addWatermark'], - getv(from_object, ['add_watermark']), + parent_object, + ['parameters', 'addWatermark'], + getv(from_object, ['add_watermark']), ) if getv(from_object, ['output_mime_type']) is not None: @@ -3897,56 +3011,16 @@ def _ReferenceImageAPI_to_vertex( setv( to_object, ['styleImageConfig'], - _StyleReferenceConfig_to_vertex( - getv(from_object, ['style_image_config']), to_object - ), + getv(from_object, ['style_image_config']), ) if getv(from_object, ['subject_image_config']) is not None: setv( to_object, ['subjectImageConfig'], - _SubjectReferenceConfig_to_vertex( - getv(from_object, ['subject_image_config']), to_object - ), - ) - - return to_object - - -def _RetrievalConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['lat_lng']) is not None: - setv( - to_object, - ['latLng'], - _LatLng_to_mldev(getv(from_object, ['lat_lng']), to_object), + getv(from_object, ['subject_image_config']), ) - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _RetrievalConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['lat_lng']) is not None: - setv( - to_object, - ['latLng'], - _LatLng_to_vertex(getv(from_object, ['lat_lng']), to_object), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - return to_object @@ -4013,203 +3087,6 @@ def _SafetySetting_to_mldev( return to_object -def _SafetySetting_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['method']) is not None: - setv(to_object, ['method'], getv(from_object, ['method'])) - - if getv(from_object, ['category']) is not None: - setv(to_object, ['category'], getv(from_object, ['category'])) - - if getv(from_object, ['threshold']) is not None: - setv(to_object, ['threshold'], getv(from_object, ['threshold'])) - - return to_object - - -def _Schema_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['additional_properties']) is not None: - raise ValueError( - 'additional_properties parameter is not supported in Gemini API.' - ) - - if getv(from_object, ['defs']) is not None: - raise ValueError('defs parameter is not supported in Gemini API.') - - if getv(from_object, ['ref']) is not None: - raise ValueError('ref parameter is not supported in Gemini API.') - - if getv(from_object, ['any_of']) is not None: - setv(to_object, ['anyOf'], getv(from_object, ['any_of'])) - - if getv(from_object, ['default']) is not None: - setv(to_object, ['default'], getv(from_object, ['default'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['enum']) is not None: - setv(to_object, ['enum'], getv(from_object, ['enum'])) - - if getv(from_object, ['example']) is not None: - setv(to_object, ['example'], getv(from_object, ['example'])) - - if getv(from_object, ['format']) is not None: - setv(to_object, ['format'], getv(from_object, ['format'])) - - if getv(from_object, ['items']) is not None: - setv(to_object, ['items'], getv(from_object, ['items'])) - - if getv(from_object, ['max_items']) is not None: - setv(to_object, ['maxItems'], getv(from_object, ['max_items'])) - - if getv(from_object, ['max_length']) is not None: - setv(to_object, ['maxLength'], getv(from_object, ['max_length'])) - - if getv(from_object, ['max_properties']) is not None: - setv(to_object, ['maxProperties'], getv(from_object, ['max_properties'])) - - if getv(from_object, ['maximum']) is not None: - setv(to_object, ['maximum'], getv(from_object, ['maximum'])) - - if getv(from_object, ['min_items']) is not None: - setv(to_object, ['minItems'], getv(from_object, ['min_items'])) - - if getv(from_object, ['min_length']) is not None: - setv(to_object, ['minLength'], getv(from_object, ['min_length'])) - - if getv(from_object, ['min_properties']) is not None: - setv(to_object, ['minProperties'], getv(from_object, ['min_properties'])) - - if getv(from_object, ['minimum']) is not None: - setv(to_object, ['minimum'], getv(from_object, ['minimum'])) - - if getv(from_object, ['nullable']) is not None: - setv(to_object, ['nullable'], getv(from_object, ['nullable'])) - - if getv(from_object, ['pattern']) is not None: - setv(to_object, ['pattern'], getv(from_object, ['pattern'])) - - if getv(from_object, ['properties']) is not None: - setv(to_object, ['properties'], getv(from_object, ['properties'])) - - if getv(from_object, ['property_ordering']) is not None: - setv( - to_object, - ['propertyOrdering'], - getv(from_object, ['property_ordering']), - ) - - if getv(from_object, ['required']) is not None: - setv(to_object, ['required'], getv(from_object, ['required'])) - - if getv(from_object, ['title']) is not None: - setv(to_object, ['title'], getv(from_object, ['title'])) - - if getv(from_object, ['type']) is not None: - setv(to_object, ['type'], getv(from_object, ['type'])) - - return to_object - - -def _Schema_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['additional_properties']) is not None: - setv( - to_object, - ['additionalProperties'], - getv(from_object, ['additional_properties']), - ) - - if getv(from_object, ['defs']) is not None: - setv(to_object, ['defs'], getv(from_object, ['defs'])) - - if getv(from_object, ['ref']) is not None: - setv(to_object, ['ref'], getv(from_object, ['ref'])) - - if getv(from_object, ['any_of']) is not None: - setv(to_object, ['anyOf'], getv(from_object, ['any_of'])) - - if getv(from_object, ['default']) is not None: - setv(to_object, ['default'], getv(from_object, ['default'])) - - if getv(from_object, ['description']) is not None: - setv(to_object, ['description'], getv(from_object, ['description'])) - - if getv(from_object, ['enum']) is not None: - setv(to_object, ['enum'], getv(from_object, ['enum'])) - - if getv(from_object, ['example']) is not None: - setv(to_object, ['example'], getv(from_object, ['example'])) - - if getv(from_object, ['format']) is not None: - setv(to_object, ['format'], getv(from_object, ['format'])) - - if getv(from_object, ['items']) is not None: - setv(to_object, ['items'], getv(from_object, ['items'])) - - if getv(from_object, ['max_items']) is not None: - setv(to_object, ['maxItems'], getv(from_object, ['max_items'])) - - if getv(from_object, ['max_length']) is not None: - setv(to_object, ['maxLength'], getv(from_object, ['max_length'])) - - if getv(from_object, ['max_properties']) is not None: - setv(to_object, ['maxProperties'], getv(from_object, ['max_properties'])) - - if getv(from_object, ['maximum']) is not None: - setv(to_object, ['maximum'], getv(from_object, ['maximum'])) - - if getv(from_object, ['min_items']) is not None: - setv(to_object, ['minItems'], getv(from_object, ['min_items'])) - - if getv(from_object, ['min_length']) is not None: - setv(to_object, ['minLength'], getv(from_object, ['min_length'])) - - if getv(from_object, ['min_properties']) is not None: - setv(to_object, ['minProperties'], getv(from_object, ['min_properties'])) - - if getv(from_object, ['minimum']) is not None: - setv(to_object, ['minimum'], getv(from_object, ['minimum'])) - - if getv(from_object, ['nullable']) is not None: - setv(to_object, ['nullable'], getv(from_object, ['nullable'])) - - if getv(from_object, ['pattern']) is not None: - setv(to_object, ['pattern'], getv(from_object, ['pattern'])) - - if getv(from_object, ['properties']) is not None: - setv(to_object, ['properties'], getv(from_object, ['properties'])) - - if getv(from_object, ['property_ordering']) is not None: - setv( - to_object, - ['propertyOrdering'], - getv(from_object, ['property_ordering']), - ) - - if getv(from_object, ['required']) is not None: - setv(to_object, ['required'], getv(from_object, ['required'])) - - if getv(from_object, ['title']) is not None: - setv(to_object, ['title'], getv(from_object, ['title'])) - - if getv(from_object, ['type']) is not None: - setv(to_object, ['type'], getv(from_object, ['type'])) - - return to_object - - def _ScribbleImage_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -4282,276 +3159,74 @@ def _SegmentImageParameters_to_vertex( _SegmentImageSource_to_vertex(getv(from_object, ['source']), to_object) if getv(from_object, ['config']) is not None: - _SegmentImageConfig_to_vertex(getv(from_object, ['config']), to_object) - - return to_object - - -def _SegmentImageResponse_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['predictions']) is not None: - setv( - to_object, - ['generated_masks'], - [ - _GeneratedImageMask_from_vertex(item, to_object) - for item in getv(from_object, ['predictions']) - ], - ) - - return to_object - - -def _SegmentImageSource_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prompt']) is not None: - setv( - parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) - ) - - if getv(from_object, ['image']) is not None: - setv( - parent_object, - ['instances[0]', 'image'], - _Image_to_vertex(getv(from_object, ['image']), to_object), - ) - - if getv(from_object, ['scribble_image']) is not None: - setv( - parent_object, - ['instances[0]', 'scribble'], - _ScribbleImage_to_vertex( - getv(from_object, ['scribble_image']), to_object - ), - ) - - return to_object - - -def _SpeakerVoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['speaker']) is not None: - setv(to_object, ['speaker'], getv(from_object, ['speaker'])) - - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), - ) - - return to_object - - -def _SpeechConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_mldev(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - setv( - to_object, - ['multiSpeakerVoiceConfig'], - _MultiSpeakerVoiceConfig_to_mldev( - getv(from_object, ['multi_speaker_voice_config']), to_object - ), - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _SpeechConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['voice_config']) is not None: - setv( - to_object, - ['voiceConfig'], - _VoiceConfig_to_vertex(getv(from_object, ['voice_config']), to_object), - ) - - if getv(from_object, ['multi_speaker_voice_config']) is not None: - raise ValueError( - 'multi_speaker_voice_config parameter is not supported in Vertex AI.' - ) - - if getv(from_object, ['language_code']) is not None: - setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) - - return to_object - - -def _StyleReferenceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['style_description']) is not None: - setv( - to_object, - ['styleDescription'], - getv(from_object, ['style_description']), - ) - - return to_object - - -def _SubjectReferenceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['subject_type']) is not None: - setv(to_object, ['subjectType'], getv(from_object, ['subject_type'])) - - if getv(from_object, ['subject_description']) is not None: - setv( - to_object, - ['subjectDescription'], - getv(from_object, ['subject_description']), - ) - - return to_object - - -def _ThinkingConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['include_thoughts']) is not None: - setv( - to_object, ['includeThoughts'], getv(from_object, ['include_thoughts']) - ) - - if getv(from_object, ['thinking_budget']) is not None: - setv(to_object, ['thinkingBudget'], getv(from_object, ['thinking_budget'])) - - return to_object - - -def _ThinkingConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['include_thoughts']) is not None: - setv( - to_object, ['includeThoughts'], getv(from_object, ['include_thoughts']) - ) - - if getv(from_object, ['thinking_budget']) is not None: - setv(to_object, ['thinkingBudget'], getv(from_object, ['thinking_budget'])) - - return to_object - - -def _ToolComputerUse_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: - setv( - to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), - ) + _SegmentImageConfig_to_vertex(getv(from_object, ['config']), to_object) return to_object -def _ToolComputerUse_to_vertex( +def _SegmentImageResponse_from_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['environment']) is not None: - setv(to_object, ['environment'], getv(from_object, ['environment'])) - - if getv(from_object, ['excluded_predefined_functions']) is not None: + if getv(from_object, ['predictions']) is not None: setv( to_object, - ['excludedPredefinedFunctions'], - getv(from_object, ['excluded_predefined_functions']), + ['generated_masks'], + [ + _GeneratedImageMask_from_vertex(item, to_object) + for item in getv(from_object, ['predictions']) + ], ) return to_object -def _ToolConfig_to_mldev( +def _SegmentImageSource_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_calling_config']) is not None: + if getv(from_object, ['prompt']) is not None: setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_mldev( - getv(from_object, ['function_calling_config']), to_object - ), + parent_object, ['instances[0]', 'prompt'], getv(from_object, ['prompt']) ) - if getv(from_object, ['retrieval_config']) is not None: + if getv(from_object, ['image']) is not None: setv( - to_object, - ['retrievalConfig'], - _RetrievalConfig_to_mldev( - getv(from_object, ['retrieval_config']), to_object + parent_object, + ['instances[0]', 'image'], + _Image_to_vertex(getv(from_object, ['image']), to_object), + ) + + if getv(from_object, ['scribble_image']) is not None: + setv( + parent_object, + ['instances[0]', 'scribble'], + _ScribbleImage_to_vertex( + getv(from_object, ['scribble_image']), to_object ), ) return to_object -def _ToolConfig_to_vertex( +def _SpeechConfig_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, ) -> dict[str, Any]: to_object: dict[str, Any] = {} - if getv(from_object, ['function_calling_config']) is not None: - setv( - to_object, - ['functionCallingConfig'], - _FunctionCallingConfig_to_vertex( - getv(from_object, ['function_calling_config']), to_object - ), - ) + if getv(from_object, ['voice_config']) is not None: + setv(to_object, ['voiceConfig'], getv(from_object, ['voice_config'])) - if getv(from_object, ['retrieval_config']) is not None: - setv( - to_object, - ['retrievalConfig'], - _RetrievalConfig_to_vertex( - getv(from_object, ['retrieval_config']), to_object - ), + if getv(from_object, ['multi_speaker_voice_config']) is not None: + raise ValueError( + 'multi_speaker_voice_config parameter is not supported in Vertex AI.' ) + if getv(from_object, ['language_code']) is not None: + setv(to_object, ['languageCode'], getv(from_object, ['language_code'])) + return to_object @@ -4564,10 +3239,7 @@ def _Tool_to_mldev( setv( to_object, ['functionDeclarations'], - [ - _FunctionDeclaration_to_mldev(item, to_object) - for item in getv(from_object, ['function_declarations']) - ], + [item for item in getv(from_object, ['function_declarations'])], ) if getv(from_object, ['retrieval']) is not None: @@ -4584,9 +3256,7 @@ def _Tool_to_mldev( setv( to_object, ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_mldev( - getv(from_object, ['google_search_retrieval']), to_object - ), + getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['enterprise_web_search']) is not None: @@ -4598,20 +3268,10 @@ def _Tool_to_mldev( raise ValueError('google_maps parameter is not supported in Gemini API.') if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_mldev(getv(from_object, ['url_context']), to_object), - ) + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) if getv(from_object, ['computer_use']) is not None: - setv( - to_object, - ['computerUse'], - _ToolComputerUse_to_mldev( - getv(from_object, ['computer_use']), to_object - ), - ) + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) @@ -4638,54 +3298,30 @@ def _Tool_to_vertex( setv(to_object, ['retrieval'], getv(from_object, ['retrieval'])) if getv(from_object, ['google_search']) is not None: - setv( - to_object, - ['googleSearch'], - _GoogleSearch_to_vertex( - getv(from_object, ['google_search']), to_object - ), - ) + setv(to_object, ['googleSearch'], getv(from_object, ['google_search'])) if getv(from_object, ['google_search_retrieval']) is not None: setv( to_object, ['googleSearchRetrieval'], - _GoogleSearchRetrieval_to_vertex( - getv(from_object, ['google_search_retrieval']), to_object - ), + getv(from_object, ['google_search_retrieval']), ) if getv(from_object, ['enterprise_web_search']) is not None: setv( to_object, ['enterpriseWebSearch'], - _EnterpriseWebSearch_to_vertex( - getv(from_object, ['enterprise_web_search']), to_object - ), + getv(from_object, ['enterprise_web_search']), ) if getv(from_object, ['google_maps']) is not None: - setv( - to_object, - ['googleMaps'], - _GoogleMaps_to_vertex(getv(from_object, ['google_maps']), to_object), - ) + setv(to_object, ['googleMaps'], getv(from_object, ['google_maps'])) if getv(from_object, ['url_context']) is not None: - setv( - to_object, - ['urlContext'], - _UrlContext_to_vertex(getv(from_object, ['url_context']), to_object), - ) + setv(to_object, ['urlContext'], getv(from_object, ['url_context'])) if getv(from_object, ['computer_use']) is not None: - setv( - to_object, - ['computerUse'], - _ToolComputerUse_to_vertex( - getv(from_object, ['computer_use']), to_object - ), - ) + setv(to_object, ['computerUse'], getv(from_object, ['computer_use'])) if getv(from_object, ['code_execution']) is not None: setv(to_object, ['codeExecution'], getv(from_object, ['code_execution'])) @@ -4693,23 +3329,6 @@ def _Tool_to_vertex( return to_object -def _TunedModelInfo_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['baseModel']) is not None: - setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) - - if getv(from_object, ['createTime']) is not None: - setv(to_object, ['create_time'], getv(from_object, ['createTime'])) - - if getv(from_object, ['updateTime']) is not None: - setv(to_object, ['update_time'], getv(from_object, ['updateTime'])) - - return to_object - - def _TunedModelInfo_from_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -4933,96 +3552,6 @@ def _UpscaleImageResponse_from_vertex( return to_object -def _UrlContextMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['urlMetadata']) is not None: - setv( - to_object, - ['url_metadata'], - [ - _UrlMetadata_from_mldev(item, to_object) - for item in getv(from_object, ['urlMetadata']) - ], - ) - - return to_object - - -def _UrlContextMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['urlMetadata']) is not None: - setv( - to_object, - ['url_metadata'], - [ - _UrlMetadata_from_vertex(item, to_object) - for item in getv(from_object, ['urlMetadata']) - ], - ) - - return to_object - - -def _UrlContext_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _UrlContext_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - - return to_object - - -def _UrlMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrievedUrl']) is not None: - setv(to_object, ['retrieved_url'], getv(from_object, ['retrievedUrl'])) - - if getv(from_object, ['urlRetrievalStatus']) is not None: - setv( - to_object, - ['url_retrieval_status'], - getv(from_object, ['urlRetrievalStatus']), - ) - - return to_object - - -def _UrlMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['retrievedUrl']) is not None: - setv(to_object, ['retrieved_url'], getv(from_object, ['retrievedUrl'])) - - if getv(from_object, ['urlRetrievalStatus']) is not None: - setv( - to_object, - ['url_retrieval_status'], - getv(from_object, ['urlRetrievalStatus']), - ) - - return to_object - - def _VideoGenerationMask_to_vertex( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -5059,74 +3588,6 @@ def _VideoGenerationReferenceImage_to_vertex( return to_object -def _VideoMetadata_from_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['endOffset']) is not None: - setv(to_object, ['end_offset'], getv(from_object, ['endOffset'])) - - if getv(from_object, ['startOffset']) is not None: - setv(to_object, ['start_offset'], getv(from_object, ['startOffset'])) - - return to_object - - -def _VideoMetadata_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['endOffset']) is not None: - setv(to_object, ['end_offset'], getv(from_object, ['endOffset'])) - - if getv(from_object, ['startOffset']) is not None: - setv(to_object, ['start_offset'], getv(from_object, ['startOffset'])) - - return to_object - - -def _VideoMetadata_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - -def _VideoMetadata_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['fps']) is not None: - setv(to_object, ['fps'], getv(from_object, ['fps'])) - - if getv(from_object, ['end_offset']) is not None: - setv(to_object, ['endOffset'], getv(from_object, ['end_offset'])) - - if getv(from_object, ['start_offset']) is not None: - setv(to_object, ['startOffset'], getv(from_object, ['start_offset'])) - - return to_object - - def _Video_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -5190,40 +3651,6 @@ def _Video_to_vertex( return to_object -def _VoiceConfig_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_mldev( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) - - return to_object - - -def _VoiceConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['prebuilt_voice_config']) is not None: - setv( - to_object, - ['prebuiltVoiceConfig'], - _PrebuiltVoiceConfig_to_vertex( - getv(from_object, ['prebuilt_voice_config']), to_object - ), - ) - - return to_object - - class Models(_api_module.BaseModule): def _generate_content( @@ -5286,12 +3713,12 @@ def _generate_content( self._api_client._verify_response(return_value) return return_value - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateContentResponse_from_mldev(response_dict) return_value = types.GenerateContentResponse._from_response( @@ -5368,12 +3795,12 @@ def _generate_content_stream( 'post', path, request_dict, http_options ): - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateContentResponse_from_mldev(response_dict) return_value = types.GenerateContentResponse._from_response( @@ -5461,12 +3888,12 @@ def embed_content( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _EmbedContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _EmbedContentResponse_from_mldev(response_dict) return_value = types.EmbedContentResponse._from_response( @@ -5533,12 +3960,12 @@ def _generate_images( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateImagesResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateImagesResponse_from_mldev(response_dict) return_value = types.GenerateImagesResponse._from_response( @@ -5600,7 +4027,7 @@ def _edit_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _EditImageResponse_from_vertex(response_dict) @@ -5664,7 +4091,7 @@ def _upscale_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _UpscaleImageResponse_from_vertex(response_dict) @@ -5772,7 +4199,7 @@ def recontext_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _RecontextImageResponse_from_vertex(response_dict) @@ -5855,7 +4282,7 @@ def segment_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _SegmentImageResponse_from_vertex(response_dict) @@ -5913,12 +4340,12 @@ def get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _Model_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _Model_from_mldev(response_dict) return_value = types.Model._from_response( @@ -5973,12 +4400,12 @@ def _list( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListModelsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListModelsResponse_from_mldev(response_dict) return_value = types.ListModelsResponse._from_response( @@ -6041,12 +4468,12 @@ def update( 'patch', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _Model_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _Model_from_mldev(response_dict) return_value = types.Model._from_response( @@ -6107,12 +4534,12 @@ def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteModelResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteModelResponse_from_mldev(response_dict) return_value = types.DeleteModelResponse._from_response( @@ -6198,12 +4625,12 @@ def count_tokens( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _CountTokensResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _CountTokensResponse_from_mldev(response_dict) return_value = types.CountTokensResponse._from_response( @@ -6284,7 +4711,7 @@ def compute_tokens( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ComputeTokensResponse_from_vertex(response_dict) @@ -6359,12 +4786,12 @@ def _generate_videos( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateVideosOperation_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateVideosOperation_from_mldev(response_dict) return_value = types.GenerateVideosOperation._from_response( @@ -7034,12 +5461,12 @@ async def _generate_content( self._api_client._verify_response(return_value) return return_value - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateContentResponse_from_mldev(response_dict) return_value = types.GenerateContentResponse._from_response( @@ -7119,12 +5546,12 @@ async def _generate_content_stream( async def async_generator(): # type: ignore[no-untyped-def] async for response in response_stream: - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateContentResponse_from_mldev(response_dict) return_value = types.GenerateContentResponse._from_response( @@ -7214,12 +5641,12 @@ async def embed_content( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _EmbedContentResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _EmbedContentResponse_from_mldev(response_dict) return_value = types.EmbedContentResponse._from_response( @@ -7286,12 +5713,12 @@ async def _generate_images( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateImagesResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateImagesResponse_from_mldev(response_dict) return_value = types.GenerateImagesResponse._from_response( @@ -7353,7 +5780,7 @@ async def _edit_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _EditImageResponse_from_vertex(response_dict) @@ -7417,7 +5844,7 @@ async def _upscale_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _UpscaleImageResponse_from_vertex(response_dict) @@ -7525,7 +5952,7 @@ async def recontext_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _RecontextImageResponse_from_vertex(response_dict) @@ -7611,7 +6038,7 @@ async def segment_image( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _SegmentImageResponse_from_vertex(response_dict) @@ -7671,12 +6098,12 @@ async def get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _Model_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _Model_from_mldev(response_dict) return_value = types.Model._from_response( @@ -7733,12 +6160,12 @@ async def _list( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListModelsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListModelsResponse_from_mldev(response_dict) return_value = types.ListModelsResponse._from_response( @@ -7801,12 +6228,12 @@ async def update( 'patch', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _Model_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _Model_from_mldev(response_dict) return_value = types.Model._from_response( @@ -7867,12 +6294,12 @@ async def delete( 'delete', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _DeleteModelResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _DeleteModelResponse_from_mldev(response_dict) return_value = types.DeleteModelResponse._from_response( @@ -7958,12 +6385,12 @@ async def count_tokens( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _CountTokensResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _CountTokensResponse_from_mldev(response_dict) return_value = types.CountTokensResponse._from_response( @@ -8043,7 +6470,7 @@ async def compute_tokens( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ComputeTokensResponse_from_vertex(response_dict) @@ -8118,12 +6545,12 @@ async def _generate_videos( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _GenerateVideosOperation_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _GenerateVideosOperation_from_mldev(response_dict) return_value = types.GenerateVideosOperation._from_response( diff --git a/google/genai/operations.py b/google/genai/operations.py index 7017bbe96..1b3be8170 100644 --- a/google/genai/operations.py +++ b/google/genai/operations.py @@ -91,26 +91,6 @@ def _GetProjectOperationParameters_to_vertex( return to_object -def _ProjectOperation_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['name']) is not None: - setv(to_object, ['name'], getv(from_object, ['name'])) - - if getv(from_object, ['metadata']) is not None: - setv(to_object, ['metadata'], getv(from_object, ['metadata'])) - - if getv(from_object, ['done']) is not None: - setv(to_object, ['done'], getv(from_object, ['done'])) - - if getv(from_object, ['error']) is not None: - setv(to_object, ['error'], getv(from_object, ['error'])) - - return to_object - - class Operations(_api_module.BaseModule): def _get_videos_operation( @@ -158,7 +138,7 @@ def _get_videos_operation( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) return response_dict @@ -208,7 +188,7 @@ def _fetch_predict_videos_operation( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) return response_dict @@ -252,10 +232,7 @@ def _get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _ProjectOperation_from_vertex(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.ProjectOperation._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -366,7 +343,7 @@ async def _get_videos_operation( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) return response_dict @@ -416,7 +393,7 @@ async def _fetch_predict_videos_operation( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) return response_dict @@ -462,10 +439,7 @@ async def _get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if self._api_client.vertexai: - response_dict = _ProjectOperation_from_vertex(response_dict) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.ProjectOperation._from_response( response=response_dict, kwargs=parameter_model.model_dump() diff --git a/google/genai/tests/live/test_live.py b/google/genai/tests/live/test_live.py index 940e8b828..55d2460ce 100644 --- a/google/genai/tests/live/test_live.py +++ b/google/genai/tests/live/test_live.py @@ -626,15 +626,10 @@ async def test_bidi_setup_to_api_speech_config(vertexai): 'model': 'models/test_model', 'generationConfig': { 'speechConfig': { - # Note: the snake_casing is different from the usual camelCase - # here. This is because speechConfig is an unmodified proto - # defined in the discovery doc, so it doesn't need to/from - # converters. The API is insensitive to the case format. - # This looks wrong, but it is okay/correct. - 'voiceConfig': { - 'prebuiltVoiceConfig': {'voiceName': 'en-default'} + 'voice_config': { + 'prebuilt_voice_config': {'voice_name': 'en-default'} }, - 'languageCode': 'en-US', + 'language_code': 'en-US', }, 'enableAffectiveDialog': True, 'temperature': 0.7, @@ -644,7 +639,7 @@ async def test_bidi_setup_to_api_speech_config(vertexai): 'mediaResolution': 'MEDIA_RESOLUTION_MEDIUM', 'seed': 13, }, - 'proactivity': {'proactiveAudio': True}, + 'proactivity': {'proactive_audio': True}, 'systemInstruction': { 'parts': [ { @@ -663,6 +658,12 @@ async def test_bidi_setup_to_api_speech_config(vertexai): expected_result['setup']['generationConfig']['responseModalities'] = [ 'AUDIO' ] + expected_result['setup']['generationConfig']['speechConfig'] = { + 'voiceConfig': { + 'prebuilt_voice_config': {'voice_name': 'en-default'} + }, + 'languageCode': 'en-US', + } else: expected_result['setup']['model'] = 'models/test_model' @@ -909,8 +910,8 @@ async def test_bidi_setup_to_api_with_context_window_compression( 'role': 'user', }, 'contextWindowCompression': { - 'triggerTokens': 1000, - 'slidingWindow': {'targetTokens': 10}, + 'trigger_tokens': 1000, + 'sliding_window': {'target_tokens': 10}, } } } @@ -1284,17 +1285,7 @@ async def test_bidi_setup_to_api_with_realtime_input_config(vertexai): expected_result = { 'setup': { 'model': 'test_model', - 'realtimeInputConfig': { - 'automaticActivityDetection': { - 'disabled': True, - 'startOfSpeechSensitivity': 'START_SENSITIVITY_HIGH', - 'endOfSpeechSensitivity': 'END_SENSITIVITY_HIGH', - 'prefixPaddingMs': 20, - 'silenceDurationMs': 100, - }, - 'activityHandling': 'NO_INTERRUPTION', - 'turnCoverage': 'TURN_INCLUDES_ALL_INPUT', - }, + 'realtimeInputConfig': config_dict['realtime_input_config'], } } diff --git a/google/genai/tests/live/test_send_realtime_input.py b/google/genai/tests/live/test_send_realtime_input.py index 33c174aa5..59cd3f503 100644 --- a/google/genai/tests/live/test_send_realtime_input.py +++ b/google/genai/tests/live/test_send_realtime_input.py @@ -32,6 +32,7 @@ os.path.join(os.path.dirname(__file__), '../data/google.jpg') ) + def mock_api_client(vertexai=False): api_client = mock.MagicMock(spec=gl_client.BaseApiClient) api_client.api_key = 'TEST_API_KEY' @@ -67,9 +68,9 @@ async def test_send_media_blob_dict(mock_websocket, vertexai): assert 'realtime_input' in sent_data assert sent_data['realtime_input']['mediaChunks'][0]['data'] == 'AAAAAAAA' - assert ( - sent_data['realtime_input']['mediaChunks'][0]['mime_type'] == 'audio/pcm' - ) + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['mediaChunks'][0], 'mime_type' + ) == 'audio/pcm' @pytest.mark.parametrize('vertexai', [True, False]) @@ -86,9 +87,10 @@ async def test_send_media_blob(mock_websocket, vertexai): assert 'realtime_input' in sent_data assert sent_data['realtime_input']['mediaChunks'][0]['data'] == 'AAAAAAAA' - assert ( - sent_data['realtime_input']['mediaChunks'][0]['mime_type'] == 'audio/pcm' - ) + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['mediaChunks'][0], 'mime_type' + ) == 'audio/pcm' + @pytest.mark.parametrize('vertexai', [True, False]) @pytest.mark.asyncio @@ -102,9 +104,9 @@ async def test_send_media_image(mock_websocket, vertexai, image_jpeg): sent_data = json.loads(mock_websocket.send.call_args[0][0]) assert 'realtime_input' in sent_data - assert ( - sent_data['realtime_input']['mediaChunks'][0]['mime_type'] == 'image/jpeg' - ) + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['mediaChunks'][0], 'mime_type' + ) == 'image/jpeg' @pytest.mark.parametrize('vertexai', [True, False]) @@ -126,7 +128,9 @@ async def test_send_audio(mock_websocket, vertexai, content): assert 'realtime_input' in sent_data assert sent_data['realtime_input']['audio']['data'] == 'AAAAAAAA' - assert sent_data['realtime_input']['audio']['mime_type'] == 'audio/pcm' + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['audio'], 'mime_type' + ) == 'audio/pcm' @pytest.mark.parametrize('vertexai', [True, False]) @@ -185,7 +189,10 @@ async def test_send_video(mock_websocket, vertexai, content): assert 'realtime_input' in sent_data assert sent_data['realtime_input']['video']['data'] == 'AAAAAAAA' - assert sent_data['realtime_input']['video']['mime_type'] == 'image/png' + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['video'], 'mime_type' + ) == 'image/png' + @pytest.mark.parametrize('vertexai', [True, False]) @pytest.mark.asyncio @@ -198,7 +205,9 @@ async def test_send_video_image(mock_websocket, vertexai, image_jpeg): sent_data = json.loads(mock_websocket.send.call_args[0][0]) assert 'realtime_input' in sent_data - assert sent_data['realtime_input']['video']['mime_type'] == 'image/jpeg' + assert pytest_helper.get_value_ignore_key_case( + sent_data['realtime_input']['video'], 'mime_type' + ) == 'image/jpeg' @pytest.mark.parametrize('vertexai', [True, False]) diff --git a/google/genai/tests/live/test_send_tool_response.py b/google/genai/tests/live/test_send_tool_response.py index c1c8bbb9f..3d9f65128 100644 --- a/google/genai/tests/live/test_send_tool_response.py +++ b/google/genai/tests/live/test_send_tool_response.py @@ -145,10 +145,7 @@ async def test_function_response_scheduling(mock_websocket, vertexai): if not vertexai: input.id = 'some-id' - with pytest_helper.exception_if_vertex(api_client, ValueError): - await session.send_tool_response(function_responses=input) - if vertexai: - return + await session.send_tool_response(function_responses=input) mock_websocket.send.assert_called_once() sent_data = json.loads(mock_websocket.send.call_args[0][0]) diff --git a/google/genai/tests/pytest_helper.py b/google/genai/tests/pytest_helper.py index 31d6a6482..eca8f77dc 100644 --- a/google/genai/tests/pytest_helper.py +++ b/google/genai/tests/pytest_helper.py @@ -21,6 +21,7 @@ from typing import Any, Optional from pydantic import BaseModel, Field, SerializeAsAny import pytest +import re from .. import _common from .. import _replay_api_client from .. import types @@ -206,3 +207,18 @@ def exception_if_vertex(client, exception_type: type[Exception]): return pytest.raises(exception_type) else: return contextlib.nullcontext() + + +def snake_to_camel(snake_str: str) -> str: + """Converts a snake_case string to CamelCase.""" + return re.sub(r'_([a-zA-Z])', lambda match: match.group(1).upper(), snake_str) + + +def camel_to_snake(camel_str: str) -> str: + """Converts a CamelCase string to snake_case.""" + return re.sub(r'([A-Z])', r'_\1', camel_str).lower().lstrip('_') + + +def get_value_ignore_key_case(obj, key): + """Returns the value of the key in the object, converting to camelCase or snake_case if necessary.""" + return obj.get(snake_to_camel(key), obj.get(camel_to_snake(key), None)) diff --git a/google/genai/tests/types/test_bytes_internal.py b/google/genai/tests/types/test_bytes_internal.py index 87896206d..6efd3e4f0 100644 --- a/google/genai/tests/types/test_bytes_internal.py +++ b/google/genai/tests/types/test_bytes_internal.py @@ -20,6 +20,8 @@ import pytest +from .. import pytest_helper + from ... import _api_client as google_genai_api_client_module from ... import _common as common_module from ... import client as google_genai_client_module @@ -103,9 +105,10 @@ def test_base64_pydantic_input_success( encode_unserializable_types_method.assert_called() assert mock_request_method.call_count == 1 assert ( - mock_request_method.call_args[0][2]['contents'][0]['parts'][0][ + pytest_helper.get_value_ignore_key_case( + mock_request_method.call_args[0][2]['contents'][0]['parts'][0], 'inlineData' - ]['data'] + )['data'] == _BASE64_URL_SAFE ) assert response.candidates[0].content == types.Content( @@ -146,9 +149,10 @@ def test_base64_dict_input_success(client, mock_request_method, encode_unseriali encode_unserializable_types_method.assert_called() assert mock_request_method.call_count == 1 assert ( - mock_request_method.call_args[0][2]['contents'][0]['parts'][0][ + pytest_helper.get_value_ignore_key_case( + mock_request_method.call_args[0][2]['contents'][0]['parts'][0], 'inlineData' - ]['data'] + )['data'] == _BASE64_URL_SAFE ) assert response.candidates[0].content == types.Content( diff --git a/google/genai/tokens.py b/google/genai/tokens.py index 6b20ff094..259fa2e3b 100644 --- a/google/genai/tokens.py +++ b/google/genai/tokens.py @@ -257,12 +257,7 @@ def create( response = self._api_client.request( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) - - if not self._api_client.vertexai: - response_dict = tokens_converters._AuthToken_from_mldev( - response_dict - ) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.AuthToken._from_response( response=response_dict, kwargs=parameter_model.model_dump() @@ -358,12 +353,7 @@ async def create( request_dict, http_options=http_options, ) - response_dict = '' if not response.body else json.loads(response.body) - - if not self._api_client.vertexai: - response_dict = tokens_converters._AuthToken_from_mldev( - response_dict - ) + response_dict = {} if not response.body else json.loads(response.body) return_value = types.AuthToken._from_response( response=response_dict, kwargs=parameter_model.model_dump() diff --git a/google/genai/tunings.py b/google/genai/tunings.py index 9d9da95c8..50c67e7f5 100644 --- a/google/genai/tunings.py +++ b/google/genai/tunings.py @@ -32,40 +32,6 @@ logger = logging.getLogger('google_genai.tunings') -def _AutoraterConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['samplingCount']) is not None: - setv(to_object, ['sampling_count'], getv(from_object, ['samplingCount'])) - - if getv(from_object, ['flipEnabled']) is not None: - setv(to_object, ['flip_enabled'], getv(from_object, ['flipEnabled'])) - - if getv(from_object, ['autoraterModel']) is not None: - setv(to_object, ['autorater_model'], getv(from_object, ['autoraterModel'])) - - return to_object - - -def _AutoraterConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['sampling_count']) is not None: - setv(to_object, ['samplingCount'], getv(from_object, ['sampling_count'])) - - if getv(from_object, ['flip_enabled']) is not None: - setv(to_object, ['flipEnabled'], getv(from_object, ['flip_enabled'])) - - if getv(from_object, ['autorater_model']) is not None: - setv(to_object, ['autoraterModel'], getv(from_object, ['autorater_model'])) - - return to_object - - def _CancelTuningJobParameters_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -297,21 +263,11 @@ def _EvaluationConfig_from_vertex( setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) if getv(from_object, ['outputConfig']) is not None: - setv( - to_object, - ['output_config'], - _OutputConfig_from_vertex( - getv(from_object, ['outputConfig']), to_object - ), - ) + setv(to_object, ['output_config'], getv(from_object, ['outputConfig'])) if getv(from_object, ['autoraterConfig']) is not None: setv( - to_object, - ['autorater_config'], - _AutoraterConfig_from_vertex( - getv(from_object, ['autoraterConfig']), to_object - ), + to_object, ['autorater_config'], getv(from_object, ['autoraterConfig']) ) return to_object @@ -326,47 +282,11 @@ def _EvaluationConfig_to_vertex( setv(to_object, ['metrics'], t.t_metrics(getv(from_object, ['metrics']))) if getv(from_object, ['output_config']) is not None: - setv( - to_object, - ['outputConfig'], - _OutputConfig_to_vertex( - getv(from_object, ['output_config']), to_object - ), - ) + setv(to_object, ['outputConfig'], getv(from_object, ['output_config'])) if getv(from_object, ['autorater_config']) is not None: setv( - to_object, - ['autoraterConfig'], - _AutoraterConfig_to_vertex( - getv(from_object, ['autorater_config']), to_object - ), - ) - - return to_object - - -def _GcsDestination_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['outputUriPrefix']) is not None: - setv( - to_object, ['output_uri_prefix'], getv(from_object, ['outputUriPrefix']) - ) - - return to_object - - -def _GcsDestination_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['output_uri_prefix']) is not None: - setv( - to_object, ['outputUriPrefix'], getv(from_object, ['output_uri_prefix']) + to_object, ['autoraterConfig'], getv(from_object, ['autorater_config']) ) return to_object @@ -516,60 +436,6 @@ def _ListTuningJobsResponse_from_vertex( return to_object -def _OutputConfig_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcsDestination']) is not None: - setv( - to_object, - ['gcs_destination'], - _GcsDestination_from_vertex( - getv(from_object, ['gcsDestination']), to_object - ), - ) - - return to_object - - -def _OutputConfig_to_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['gcs_destination']) is not None: - setv( - to_object, - ['gcsDestination'], - _GcsDestination_to_vertex( - getv(from_object, ['gcs_destination']), to_object - ), - ) - - return to_object - - -def _TunedModelCheckpoint_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['checkpointId']) is not None: - setv(to_object, ['checkpoint_id'], getv(from_object, ['checkpointId'])) - - if getv(from_object, ['epoch']) is not None: - setv(to_object, ['epoch'], getv(from_object, ['epoch'])) - - if getv(from_object, ['step']) is not None: - setv(to_object, ['step'], getv(from_object, ['step'])) - - if getv(from_object, ['endpoint']) is not None: - setv(to_object, ['endpoint'], getv(from_object, ['endpoint'])) - - return to_object - - def _TunedModel_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -584,30 +450,6 @@ def _TunedModel_from_mldev( return to_object -def _TunedModel_from_vertex( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['model']) is not None: - setv(to_object, ['model'], getv(from_object, ['model'])) - - if getv(from_object, ['endpoint']) is not None: - setv(to_object, ['endpoint'], getv(from_object, ['endpoint'])) - - if getv(from_object, ['checkpoints']) is not None: - setv( - to_object, - ['checkpoints'], - [ - _TunedModelCheckpoint_from_vertex(item, to_object) - for item in getv(from_object, ['checkpoints']) - ], - ) - - return to_object - - def _TuningDataset_to_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -625,10 +467,7 @@ def _TuningDataset_to_mldev( setv( to_object, ['examples', 'examples'], - [ - _TuningExample_to_mldev(item, to_object) - for item in getv(from_object, ['examples']) - ], + [item for item in getv(from_object, ['examples'])], ) return to_object @@ -659,20 +498,6 @@ def _TuningDataset_to_vertex( return to_object -def _TuningExample_to_mldev( - from_object: Union[dict[str, Any], object], - parent_object: Optional[dict[str, Any]] = None, -) -> dict[str, Any]: - to_object: dict[str, Any] = {} - if getv(from_object, ['text_input']) is not None: - setv(to_object, ['textInput'], getv(from_object, ['text_input'])) - - if getv(from_object, ['output']) is not None: - setv(to_object, ['output'], getv(from_object, ['output'])) - - return to_object - - def _TuningJob_from_mldev( from_object: Union[dict[str, Any], object], parent_object: Optional[dict[str, Any]] = None, @@ -798,11 +623,7 @@ def _TuningJob_from_vertex( setv(to_object, ['base_model'], getv(from_object, ['baseModel'])) if getv(from_object, ['tunedModel']) is not None: - setv( - to_object, - ['tuned_model'], - _TunedModel_from_vertex(getv(from_object, ['tunedModel']), to_object), - ) + setv(to_object, ['tuned_model'], getv(from_object, ['tunedModel'])) if getv(from_object, ['preTunedModel']) is not None: setv(to_object, ['pre_tuned_model'], getv(from_object, ['preTunedModel'])) @@ -967,12 +788,12 @@ def _get( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _TuningJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _TuningJob_from_mldev(response_dict) return_value = types.TuningJob._from_response( @@ -1034,12 +855,12 @@ def _list( response = self._api_client.request('get', path, request_dict, http_options) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListTuningJobsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListTuningJobsResponse_from_mldev(response_dict) return_value = types.ListTuningJobsResponse._from_response( @@ -1163,7 +984,7 @@ def _tune( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _TuningJob_from_vertex(response_dict) @@ -1236,7 +1057,7 @@ def _tune_mldev( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _TuningOperation_from_mldev(response_dict) @@ -1420,12 +1241,12 @@ async def _get( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _TuningJob_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _TuningJob_from_mldev(response_dict) return_value = types.TuningJob._from_response( @@ -1489,12 +1310,12 @@ async def _list( 'get', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _ListTuningJobsResponse_from_vertex(response_dict) - else: + if not self._api_client.vertexai: response_dict = _ListTuningJobsResponse_from_mldev(response_dict) return_value = types.ListTuningJobsResponse._from_response( @@ -1618,7 +1439,7 @@ async def _tune( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if self._api_client.vertexai: response_dict = _TuningJob_from_vertex(response_dict) @@ -1691,7 +1512,7 @@ async def _tune_mldev( 'post', path, request_dict, http_options ) - response_dict = '' if not response.body else json.loads(response.body) + response_dict = {} if not response.body else json.loads(response.body) if not self._api_client.vertexai: response_dict = _TuningOperation_from_mldev(response_dict)