Skip to content

pi_llm.stream

stream

Top-level streaming API.

The four functions here are the primary interface for making LLM calls. Use stream_simple / complete_simple for most use cases. Use stream / complete when you need provider-specific options.

stream(model, context, options=None)

Stream a response using provider-specific options.

Parameters:

Name Type Description Default
model Model

The model to use.

required
context Context

Conversation context (system prompt, messages, tools).

required
options StreamOptions | None

Provider-specific streaming options.

None

Returns:

Type Description
AssistantMessageEventStream

An async iterable event stream. Use async for event in stream

AssistantMessageEventStream

to consume events, or await stream.result() for the final message.

Raises:

Type Description
ValueError

If no provider is registered for the model's API.

complete(model, context, options=None) async

Non-streaming convenience wrapper around stream().

Parameters:

Name Type Description Default
model Model

The model to use.

required
context Context

Conversation context.

required
options StreamOptions | None

Provider-specific streaming options.

None

Returns:

Type Description
AssistantMessage

The completed assistant message.

stream_simple(model, context, options=None)

Stream a response with automatic reasoning support.

This is the recommended entry point for most use cases. It handles reasoning level mapping and option building automatically.

Parameters:

Name Type Description Default
model Model

The model to use.

required
context Context

Conversation context (system prompt, messages, tools).

required
options SimpleStreamOptions | None

Simplified options including reasoning level.

None

Returns:

Type Description
AssistantMessageEventStream

An async iterable event stream.

Raises:

Type Description
ValueError

If no provider is registered for the model's API.

complete_simple(model, context, options=None) async

Non-streaming convenience wrapper around stream_simple().

Parameters:

Name Type Description Default
model Model

The model to use.

required
context Context

Conversation context.

required
options SimpleStreamOptions | None

Simplified options including reasoning level.

None

Returns:

Type Description
AssistantMessage

The completed assistant message.