in src/frontends/streamlit_adk/frontend/utils/title_summary.py [0:0]
def summarize(self, events: list[Event]) -> str:
"""Generates a title based on a list of conversation events."""
contents = []
# Extract text content from each event and add it to the contents list
for event in events:
if event.get("content") and event["content"].get("parts"):
text_parts = [
part.get("text", "")
for part in event["content"]["parts"]
if part.get("text")
]
text_content = "\n".join(text_parts)
if text_content.strip():
contents.append(
Content(
role=event["content"].get("role", "user"),
parts=[Part.from_text(text=text_content)],
)
)
contents.append(
Content(
role="user",
parts=[
Part.from_text(text="End of conversation - Create one single title")
],
)
)
response = self.client.models.generate_content(
model="gemini-2.0-flash-001",
contents=contents,
config=GenerateContentConfig(
system_instruction=SYS_INSTRUCTION,
max_output_tokens=10,
temperature=0,
),
).text
return response