diff --git a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py index d7d23d24e9..feae839517 100644 --- a/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py +++ b/litellm/llms/vertex_ai/gemini/vertex_and_google_ai_studio_gemini.py @@ -1553,9 +1553,9 @@ class VertexGeminiConfig(VertexAIBaseConfig, BaseConfig): for grounding_metadata_item in grounding_metadata: web_search_queries = grounding_metadata_item.get("webSearchQueries") if web_search_queries and web_search_requests: - web_search_requests += len(web_search_queries) + web_search_requests += len([q for q in web_search_queries if q]) elif web_search_queries: - web_search_requests = len(grounding_metadata) + web_search_requests = len([q for q in web_search_queries if q]) return web_search_requests @staticmethod diff --git a/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py b/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py index 7d45ce4091..c209b27bc9 100644 --- a/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py +++ b/tests/test_litellm/llms/vertex_ai/gemini/test_vertex_and_google_ai_studio_gemini.py @@ -806,7 +806,7 @@ def test_vertex_ai_streaming_usage_web_search_calculation(): { "content": {"parts": [{"text": "Hello"}]}, "groundingMetadata": [ - {"webSearchQueries": ["What is the capital of France?"]} + {"webSearchQueries": ["", "What is the capital of France?", "Capital of France"]} ], } ], @@ -821,7 +821,7 @@ def test_vertex_ai_streaming_usage_web_search_calculation(): usage: Usage = completed_response.usage assert usage.prompt_tokens_details.web_search_requests is not None - assert usage.prompt_tokens_details.web_search_requests == 1 + assert usage.prompt_tokens_details.web_search_requests == 2 def test_vertex_ai_transform_parts():