Thinking (Interactions)

Set thinking_level on GeminiInteractions and stream the reasoning behind a response.

Code

import asyncio

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

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

if __name__ == "__main__":
    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?"
    )

    asyncio.run(
        agent.aprint_response(
            "Explain why the sum of angles in a triangle is always 180 degrees.",
            stream=True,
        )
    )

Usage

Set up your virtual environment

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

Set your API key

export GOOGLE_API_KEY=xxx

Install dependencies

uv pip install -U "google-genai>=2.3" agno

Run Agent

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

python thinking.py