diff --git a/src/google/adk/models/gemini_llm_connection.py b/src/google/adk/models/gemini_llm_connection.py index 3ffdc102..0f1c9670 100644 --- a/src/google/adk/models/gemini_llm_connection.py +++ b/src/google/adk/models/gemini_llm_connection.py @@ -106,10 +106,10 @@ class GeminiLlmConnection(BaseLlmConnection): input: The input to send to the model. """ if isinstance(input, types.Blob): - input_blob = input.model_dump() # The blob is binary and is very large. So let's not log it. logger.debug('Sending LLM Blob.') - await self._gemini_session.send(input=input_blob) + await self._gemini_session.send_realtime_input(media=input) + elif isinstance(input, types.ActivityStart): logger.debug('Sending LLM activity start signal.') await self._gemini_session.send_realtime_input(activity_start=input) diff --git a/tests/unittests/models/test_gemini_llm_connection.py b/tests/unittests/models/test_gemini_llm_connection.py index e706a972..6d3e6857 100644 --- a/tests/unittests/models/test_gemini_llm_connection.py +++ b/tests/unittests/models/test_gemini_llm_connection.py @@ -45,7 +45,11 @@ async def test_send_realtime_default_behavior( await gemini_connection.send_realtime(test_blob) # Should call send once - mock_gemini_session.send.assert_called_once_with(input=test_blob.model_dump()) + mock_gemini_session.send_realtime_input.assert_called_once_with( + media=test_blob + ) + # Should not call .send function + mock_gemini_session.send.assert_not_called() @pytest.mark.asyncio