mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-14 23:21:35 +00:00
chore: format vertex web search conflict fix
This commit is contained in:
parent
92f84d35ab
commit
e33fca32b4
2 changed files with 24 additions and 17 deletions
|
|
@ -560,9 +560,7 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig):
|
|||
}
|
||||
return any(key in tool for key in search_tool_keys)
|
||||
|
||||
def _drop_search_tools_if_mixed_with_functions(
|
||||
self, optional_params: dict
|
||||
) -> None:
|
||||
def _drop_search_tools_if_mixed_with_functions(self, optional_params: dict) -> None:
|
||||
tools = optional_params.get("tools")
|
||||
if not isinstance(tools, list) or not self._has_function_declarations_tool(
|
||||
tools
|
||||
|
|
@ -575,9 +573,7 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig):
|
|||
if server_side_tool_invocations:
|
||||
return
|
||||
|
||||
filtered_tools = [
|
||||
tool for tool in tools if not self._is_search_tool(tool=tool)
|
||||
]
|
||||
filtered_tools = [tool for tool in tools if not self._is_search_tool(tool=tool)]
|
||||
if len(filtered_tools) == len(tools):
|
||||
return
|
||||
|
||||
|
|
@ -593,9 +589,7 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig):
|
|||
optional_params = super()._add_tools_to_optional_params(
|
||||
optional_params=optional_params, tools=tools
|
||||
)
|
||||
self._drop_search_tools_if_mixed_with_functions(
|
||||
optional_params=optional_params
|
||||
)
|
||||
self._drop_search_tools_if_mixed_with_functions(optional_params=optional_params)
|
||||
return optional_params
|
||||
|
||||
def _map_function( # noqa: PLR0915
|
||||
|
|
|
|||
|
|
@ -3499,7 +3499,12 @@ def test_video_metadata_supported_for_all_gemini_models():
|
|||
}
|
||||
]
|
||||
|
||||
for model in ["gemini-1.5-pro", "gemini-2.5-flash", "gemini-2.5-pro", "gemini-3-pro-preview"]:
|
||||
for model in [
|
||||
"gemini-1.5-pro",
|
||||
"gemini-2.5-flash",
|
||||
"gemini-2.5-pro",
|
||||
"gemini-3-pro-preview",
|
||||
]:
|
||||
contents = _gemini_convert_messages_with_history(messages=messages, model=model)
|
||||
|
||||
file_part = None
|
||||
|
|
@ -3509,19 +3514,25 @@ def test_video_metadata_supported_for_all_gemini_models():
|
|||
break
|
||||
|
||||
assert file_part is not None, f"{model}: file part should exist"
|
||||
assert "video_metadata" in file_part, f"{model}: video_metadata should be present"
|
||||
assert (
|
||||
"video_metadata" in file_part
|
||||
), f"{model}: video_metadata should be present"
|
||||
assert file_part["video_metadata"]["fps"] == 5, f"{model}: fps should be 5"
|
||||
|
||||
# Per-part media_resolution is Gemini 3+ only; 2.x uses generation_config global
|
||||
for model in ["gemini-3-pro-preview"]:
|
||||
contents = _gemini_convert_messages_with_history(messages=messages, model=model)
|
||||
file_part = next(p for p in contents[0]["parts"] if "file_data" in p)
|
||||
assert "media_resolution" in file_part, f"{model}: media_resolution should be present"
|
||||
assert (
|
||||
"media_resolution" in file_part
|
||||
), f"{model}: media_resolution should be present"
|
||||
|
||||
for model in ["gemini-1.5-pro", "gemini-2.5-flash", "gemini-2.5-pro"]:
|
||||
contents = _gemini_convert_messages_with_history(messages=messages, model=model)
|
||||
file_part = next(p for p in contents[0]["parts"] if "file_data" in p)
|
||||
assert "media_resolution" not in file_part, f"{model}: per-part media_resolution should not be set"
|
||||
assert (
|
||||
"media_resolution" not in file_part
|
||||
), f"{model}: per-part media_resolution should not be set"
|
||||
|
||||
|
||||
def test_chunk_parser_handles_prompt_feedback_block():
|
||||
|
|
@ -4272,8 +4283,9 @@ def test_vertex_ai_usage_metadata_with_document_tokens_in_prompt():
|
|||
|
||||
# DOCUMENT tokens should be included in text_tokens: 8 (TEXT) + 774 (DOCUMENT) = 782
|
||||
assert result.prompt_tokens_details is not None
|
||||
assert result.prompt_tokens_details.text_tokens == 782, \
|
||||
"DOCUMENT modality tokens should be added to text_tokens (8 TEXT + 774 DOCUMENT = 782)"
|
||||
assert (
|
||||
result.prompt_tokens_details.text_tokens == 782
|
||||
), "DOCUMENT modality tokens should be added to text_tokens (8 TEXT + 774 DOCUMENT = 782)"
|
||||
|
||||
# Verify completion token details
|
||||
assert result.completion_tokens_details is not None
|
||||
|
|
@ -4308,8 +4320,9 @@ def test_vertex_ai_usage_metadata_with_document_tokens_cached():
|
|||
|
||||
# DOCUMENT cached tokens map to cached_text_tokens, so:
|
||||
# text_tokens = (8 TEXT + 774 DOCUMENT) - 400 cached = 382
|
||||
assert result.prompt_tokens_details.text_tokens == 382, \
|
||||
"text_tokens should be (8 + 774) - 400 cached = 382"
|
||||
assert (
|
||||
result.prompt_tokens_details.text_tokens == 382
|
||||
), "text_tokens should be (8 + 774) - 400 cached = 382"
|
||||
assert result.prompt_tokens_details.cached_tokens == 400
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue