Skip to content

Streaming & Events

Agently normalizes model responses into an event stream. You can consume it synchronously or asynchronously:

  • get_generator(...) for sync
  • get_async_generator(...) for async

Event types

Common events (OpenAICompatible as reference):

  • delta: text delta
  • reasoning_delta: reasoning delta
  • tool_calls: tool call chunks
  • done: final text
  • original_delta / original_done: raw provider stream
  • meta: usage / finish_reason, etc.
  • extra: extra fields
  • error: request or parsing errors

Text stream only (delta)

python
for chunk in response.get_generator(type="delta"):
  print(chunk, end="", flush=True)

Filter specific events

python
for event, value in response.get_generator(
  type="specific",
  specific=["reasoning_delta", "tool_calls", "done"],
):
  print(event, value)

Full event stream

python
for event, value in response.get_generator(type="all"):
  print(event, value)

Structured streaming (instant / streaming_parse)

When output uses Agently Output Format, you can stream structured updates:

python
for item in response.get_generator(type="instant"):
  print(item.path, item.delta, item.is_complete)

instant is equivalent to streaming_parse. Path style is controlled by response.streaming_parse_path_style (dot or slash).

See also: Instant structured streaming.