Skip to main content
thinking.py
"""
Gemini Interactions - Thinking
===============================

Example showing thinking/reasoning with the Gemini Interactions API.
"""

import asyncio

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

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

agent = Agent(
    model=GeminiInteractions(
        id="gemini-3.5-flash",
        thinking_level="high",
    ),
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    # --- Sync ---
    agent.print_response(
        "Solve: If a train travels at 60 mph for 2.5 hours, then at 80 mph for 1.5 hours, what is the total distance and average speed?"
    )

    # --- Streaming ---
    asyncio.run(
        agent.aprint_response(
            "Explain why the sum of angles in a triangle is always 180 degrees.",
            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 thinking.py, then run:
python thinking.py
Full source: cookbook/90_models/google/gemini_interactions/thinking.py