Skip to main content
deep_research_streaming.py
"""
Gemini Interactions - Deep Research streaming
==============================================

Stream real-time progress (thought summaries, text, generated images) from
a Deep Research task instead of waiting for the final report.

`thinking_summaries="auto"` is required to receive intermediate reasoning
during streaming; without it the stream may only deliver the final result.
Background execution is required for agents and is enabled automatically.
"""

import asyncio

from agno.agent import Agent
from agno.models.google import GeminiInteractions

agent = Agent(
    model=GeminiInteractions(
        agent="deep-research-preview-04-2026",
        thinking_summaries="auto",
    ),
    markdown=True,
)

if __name__ == "__main__":
    # --- Sync streaming ---
    agent.print_response(
        "Research the history and impact of Google TPUs.",
        stream=True,
    )

    # --- Async streaming ---
    asyncio.run(
        agent.aprint_response(
            "Research the current state of open-source LLM inference engines.",
            stream=True,
        )
    )

Run the Example

1

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2

Install dependencies

uv pip install -U agno google-genai
3

Export your Google API key

export GOOGLE_API_KEY="your_google_api_key_here"
$Env:GOOGLE_API_KEY="your_google_api_key_here"
4

Run the example

Save the code above as deep_research_streaming.py, then run:
python deep_research_streaming.py
Full source: cookbook/90_models/google/gemini_interactions/deep_research_streaming.py