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 |
AssistantMessageEventStream
|
to consume events, or |
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. |