Gemini Interactions - Deep Research

Setting `agent` to a deep-research agent id switches GeminiInteractions to the agent path (agent + agent_config) instead of the model path.

Setting agent to a deep-research agent id switches GeminiInteractions to the agent path (agent + agent_config) instead of the model path. The agent plans, searches the web, and returns a researched report with citations.

The current Deep Research streaming adapter can repeat text when the initial stream ends early and a later status request returns the complete response. It can append that full response after text already emitted. For a clean final report, remove stream=True and use the non-streaming run/arun or print methods, which poll for completion. Treat streamed text as provisional while this upstream issue remains unresolved.

deep_research.py
"""
Gemini Interactions - Deep Research
====================================

Run the Deep Research agent through the Gemini Interactions API.

Setting `agent` to a deep-research agent id switches GeminiInteractions to the
agent path (agent + agent_config) instead of the model path. The agent plans,
searches the web, and returns a researched report with citations.

Deep Research runs in the background; the model forces background execution
and the non-streaming path polls until the result is ready (can take minutes).

For the human-in-the-loop plan/refine/approve flow, see
deep_research_collaborative_planning.py.
"""

import asyncio

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

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

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

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    # --- Sync ---
    agent.print_response(
        "Research the current state of solid-state battery commercialization "
        "and summarize the leading approaches."
    )

    # --- Async + Streaming ---
    asyncio.run(
        agent.aprint_response(
            "Compare the major open-source vector databases on indexing and query latency.",
            stream=True,
        )
    )

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno google-genai

Export your Google API key

export GOOGLE_API_KEY="your_google_api_key_here"

Run the example

Save the code above as deep_research.py, then run:

python deep_research.py

Full source: cookbook/90_models/google/gemini_interactions/deep_research.py