Skip to content

Streaming events

Streaming lets an application render output while an agent is running.

import akasha

agent = akasha.agents(
    model="gemini:gemini-2.5-flash",
    tools=[],
    stream=True,
    thinking=True,
)

for event in agent("Explain the difference between a vector store and an embedding model."):
    if event["type"] == "thinking":
        print("[thinking]", event["data"])
    elif event["type"] == "tool":
        print("[tool]", event["data"])
    elif event["type"] == "answer":
        print(event["data"], end="", flush=True)
Event type Meaning
answer A chunk of the final answer.
thinking Provider reasoning content, when available and enabled.
tool A tool or Skill result.

Do not assume every provider emits every event type. Always branch on the event type and handle unknown events safely.