From d387ab0c3807c2a8db725145a90d63367e0ff1cc Mon Sep 17 00:00:00 2001 From: "Xiang (Sean) Zhou" Date: Thu, 1 May 2025 23:01:18 -0700 Subject: [PATCH] don't send content with empty text to LLM PiperOrigin-RevId: 753869699 --- src/google/adk/flows/llm_flows/contents.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/google/adk/flows/llm_flows/contents.py b/src/google/adk/flows/llm_flows/contents.py index 0a7e442..faf5692 100644 --- a/src/google/adk/flows/llm_flows/contents.py +++ b/src/google/adk/flows/llm_flows/contents.py @@ -15,9 +15,7 @@ from __future__ import annotations import copy -from typing import AsyncGenerator -from typing import Generator -from typing import Optional +from typing import AsyncGenerator, Generator, Optional from google.genai import types from typing_extensions import override @@ -202,8 +200,14 @@ def _get_contents( # Parse the events, leaving the contents and the function calls and # responses from the current agent. for event in events: - if not event.content or not event.content.role: - # Skip events without content, or generated neither by user nor by model. + if ( + not event.content + or not event.content.role + or not event.content.parts + or event.content.parts[0].text == '' + ): + # Skip events without content, or generated neither by user nor by model + # or has empty text. # E.g. events purely for mutating session states. continue if not _is_event_belongs_to_branch(current_branch, event):