diff --git a/litellm/llms/vertex_ai/google_genai/transformation.py b/litellm/llms/vertex_ai/google_genai/transformation.py index b8b056b4bb4..5f097e444ab 100644 --- a/litellm/llms/vertex_ai/google_genai/transformation.py +++ b/litellm/llms/vertex_ai/google_genai/transformation.py @@ -84,7 +84,9 @@ class VertexAIGoogleGenAIConfig(GoogleGenAIConfig): vertex_contents = ( [ - {**content, "role": content.get("role", "user")} if isinstance(content, dict) else content + ({**content, "role": "user"} if "role" not in content else content) + if isinstance(content, dict) + else content for content in contents ] if isinstance(contents, list) diff --git a/tests/test_litellm/llms/vertex_ai/google_genai/test_transformation.py b/tests/test_litellm/llms/vertex_ai/google_genai/test_transformation.py index bfbabc43c19..c2eb74f4287 100644 --- a/tests/test_litellm/llms/vertex_ai/google_genai/test_transformation.py +++ b/tests/test_litellm/llms/vertex_ai/google_genai/test_transformation.py @@ -8,6 +8,7 @@ def test_transform_generate_content_request_defaults_omitted_role(): contents = [ {"parts": [{"text": "Hello"}]}, {"role": "model", "parts": [{"text": "Hi"}]}, + "Raw content", ] result = config.transform_generate_content_request( @@ -20,5 +21,6 @@ def test_transform_generate_content_request_defaults_omitted_role(): assert result["contents"] == [ {"role": "user", "parts": [{"text": "Hello"}]}, {"role": "model", "parts": [{"text": "Hi"}]}, + "Raw content", ] assert "role" not in contents[0]