Files
AI-System/.venv/lib/python3.11/site-packages/google/genai/_tokens_converters.py
T
2026-07-04 14:31:50 +02:00

709 lines
21 KiB
Python

# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Code generated by the Google Gen AI SDK generator DO NOT EDIT.
from typing import Any, Optional, Union
from . import _transformers as t
from ._api_client import BaseApiClient
from ._common import get_value_by_path as getv
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] = {}
if getv(from_object, ['language_codes']) is not None:
raise ValueError(
'language_codes parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['language_auto']) is not None:
setv(to_object, ['languageAuto'], getv(from_object, ['language_auto']))
if getv(from_object, ['language_hints']) is not None:
setv(to_object, ['languageHints'], getv(from_object, ['language_hints']))
if getv(from_object, ['adaptation_phrases']) is not None:
setv(
to_object,
['adaptationPhrases'],
getv(from_object, ['adaptation_phrases']),
)
return to_object
def _AuthConfig_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, ['api_key']) is not None:
setv(to_object, ['apiKey'], getv(from_object, ['api_key']))
if getv(from_object, ['api_key_config']) is not None:
raise ValueError(
'api_key_config parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['auth_type']) is not None:
raise ValueError(
'auth_type parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['google_service_account_config']) is not None:
raise ValueError(
'google_service_account_config parameter is only supported in Gemini'
' Enterprise Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['http_basic_auth_config']) is not None:
raise ValueError(
'http_basic_auth_config parameter is only supported in Gemini'
' Enterprise Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['oauth_config']) is not None:
raise ValueError(
'oauth_config parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['oidc_config']) is not None:
raise ValueError(
'oidc_config parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
return to_object
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, ['data']) is not None:
setv(to_object, ['data'], getv(from_object, ['data']))
if getv(from_object, ['display_name']) is not None:
raise ValueError(
'display_name parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['mime_type']) is not None:
setv(to_object, ['mimeType'], getv(from_object, ['mime_type']))
return to_object
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 _CreateAuthTokenConfig_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, ['expire_time']) is not None:
setv(parent_object, ['expireTime'], getv(from_object, ['expire_time']))
if getv(from_object, ['new_session_expire_time']) is not None:
setv(
parent_object,
['newSessionExpireTime'],
getv(from_object, ['new_session_expire_time']),
)
if getv(from_object, ['uses']) is not None:
setv(parent_object, ['uses'], getv(from_object, ['uses']))
if getv(from_object, ['live_connect_constraints']) is not None:
setv(
parent_object,
['bidiGenerateContentSetup'],
_LiveConnectConstraints_to_mldev(
api_client,
getv(from_object, ['live_connect_constraints']),
to_object,
),
)
if getv(from_object, ['lock_additional_fields']) is not None:
setv(
parent_object,
['fieldMask'],
getv(from_object, ['lock_additional_fields']),
)
return to_object
def _CreateAuthTokenParameters_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, ['config']) is not None:
setv(
to_object,
['config'],
_CreateAuthTokenConfig_to_mldev(
api_client, getv(from_object, ['config']), to_object
),
)
return to_object
def _CreateAuthTokenParameters_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:
raise ValueError(
'config parameter is only supported in Gemini Developer API mode, not'
' in Gemini Enterprise Agent Platform mode.'
)
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 only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
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']))
if getv(from_object, ['partial_args']) is not None:
raise ValueError(
'partial_args parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['will_continue']) is not None:
raise ValueError(
'will_continue parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
return to_object
def _GoogleMaps_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, ['auth_config']) is not None:
setv(
to_object,
['authConfig'],
_AuthConfig_to_mldev(getv(from_object, ['auth_config']), to_object),
)
if getv(from_object, ['enable_widget']) is not None:
setv(to_object, ['enableWidget'], getv(from_object, ['enable_widget']))
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, ['search_types']) is not None:
setv(to_object, ['searchTypes'], getv(from_object, ['search_types']))
if getv(from_object, ['blocking_confidence']) is not None:
raise ValueError(
'blocking_confidence parameter is only supported in Gemini Enterprise'
' Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['exclude_domains']) is not None:
raise ValueError(
'exclude_domains parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['time_range_filter']) is not None:
setv(
to_object, ['timeRangeFilter'], getv(from_object, ['time_range_filter'])
)
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'],
t.t_live_speech_config(getv(from_object, ['speech_config'])),
)
if getv(from_object, ['thinking_config']) is not None:
setv(
parent_object,
['setup', 'generationConfig', 'thinkingConfig'],
getv(from_object, ['thinking_config']),
)
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'],
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']),
)
if getv(from_object, ['proactivity']) is not None:
setv(
parent_object,
['setup', 'proactivity'],
getv(from_object, ['proactivity']),
)
if getv(from_object, ['explicit_vad_signal']) is not None:
raise ValueError(
'explicit_vad_signal parameter is only supported in Gemini Enterprise'
' Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['history_config']) is not None:
setv(
parent_object,
['setup', 'historyConfig'],
getv(from_object, ['history_config']),
)
if getv(from_object, ['avatar_config']) is not None:
setv(
parent_object,
['setup', 'avatarConfig'],
getv(from_object, ['avatar_config']),
)
if getv(from_object, ['safety_settings']) is not None:
setv(
parent_object,
['setup', 'safetySettings'],
[
_SafetySetting_to_mldev(item, to_object)
for item in getv(from_object, ['safety_settings'])
],
)
if getv(from_object, ['translation_config']) is not None:
setv(
parent_object,
['setup', 'generationConfig', 'translationConfig'],
getv(from_object, ['translation_config']),
)
return to_object
def _LiveConnectConstraints_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 _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, ['media_resolution']) is not None:
setv(
to_object, ['mediaResolution'], getv(from_object, ['media_resolution'])
)
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, ['file_data']) is not None:
setv(
to_object,
['fileData'],
_FileData_to_mldev(getv(from_object, ['file_data']), to_object),
)
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, ['function_response']) is not None:
setv(
to_object,
['functionResponse'],
getv(from_object, ['function_response']),
)
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, ['text']) is not None:
setv(to_object, ['text'], getv(from_object, ['text']))
if getv(from_object, ['thought']) is not None:
setv(to_object, ['thought'], getv(from_object, ['thought']))
if getv(from_object, ['thought_signature']) is not None:
setv(
to_object,
['thoughtSignature'],
getv(from_object, ['thought_signature']),
)
if getv(from_object, ['video_metadata']) is not None:
setv(to_object, ['videoMetadata'], getv(from_object, ['video_metadata']))
if getv(from_object, ['tool_call']) is not None:
setv(to_object, ['toolCall'], getv(from_object, ['tool_call']))
if getv(from_object, ['tool_response']) is not None:
setv(to_object, ['toolResponse'], getv(from_object, ['tool_response']))
if getv(from_object, ['part_metadata']) is not None:
setv(to_object, ['partMetadata'], getv(from_object, ['part_metadata']))
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, ['category']) is not None:
setv(to_object, ['category'], getv(from_object, ['category']))
if getv(from_object, ['method']) is not None:
raise ValueError(
'method parameter is only supported in Gemini Enterprise Agent Platform'
' mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['threshold']) is not None:
setv(to_object, ['threshold'], getv(from_object, ['threshold']))
return to_object
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, ['handle']) is not None:
setv(to_object, ['handle'], getv(from_object, ['handle']))
if getv(from_object, ['transparent']) is not None:
raise ValueError(
'transparent parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
return to_object
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, ['retrieval']) is not None:
raise ValueError(
'retrieval parameter is only supported in Gemini Enterprise Agent'
' Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['computer_use']) is not None:
setv(to_object, ['computerUse'], getv(from_object, ['computer_use']))
if getv(from_object, ['file_search']) is not None:
setv(to_object, ['fileSearch'], getv(from_object, ['file_search']))
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_maps']) is not None:
setv(
to_object,
['googleMaps'],
_GoogleMaps_to_mldev(getv(from_object, ['google_maps']), to_object),
)
if getv(from_object, ['code_execution']) is not None:
setv(to_object, ['codeExecution'], getv(from_object, ['code_execution']))
if getv(from_object, ['enterprise_web_search']) is not None:
raise ValueError(
'enterprise_web_search parameter is only supported in Gemini Enterprise'
' Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['function_declarations']) is not None:
setv(
to_object,
['functionDeclarations'],
[item for item in getv(from_object, ['function_declarations'])],
)
if getv(from_object, ['google_search_retrieval']) is not None:
setv(
to_object,
['googleSearchRetrieval'],
getv(from_object, ['google_search_retrieval']),
)
if getv(from_object, ['parallel_ai_search']) is not None:
raise ValueError(
'parallel_ai_search parameter is only supported in Gemini Enterprise'
' Agent Platform mode, not in Gemini Developer API mode.'
)
if getv(from_object, ['url_context']) is not None:
setv(to_object, ['urlContext'], getv(from_object, ['url_context']))
if getv(from_object, ['mcp_servers']) is not None:
setv(
to_object,
['mcpServers'],
[item for item in getv(from_object, ['mcp_servers'])],
)
return to_object