mirascope.core.openai.stream¶
The OpenAIStream
class for convenience around streaming LLM calls.
Usage Documentation
OpenAIStream
¶
OpenAIStream(
*,
stream: (
Generator[
tuple[
_BaseCallResponseChunkT, _BaseToolT | None
],
None,
None,
]
| AsyncGenerator[
tuple[
_BaseCallResponseChunkT, _BaseToolT | None
],
None,
]
),
metadata: Metadata,
tool_types: list[type[_BaseToolT]] | None,
call_response_type: type[_BaseCallResponseT],
model: str,
prompt_template: str | None,
fn_args: dict[str, Any],
dynamic_config: _BaseDynamicConfigT,
messages: list[_MessageParamT],
call_params: _BaseCallParamsT,
call_kwargs: BaseCallKwargs[_ToolSchemaT]
)
Bases: BaseStream[OpenAICallResponse, OpenAICallResponseChunk, ChatCompletionUserMessageParam, ChatCompletionAssistantMessageParam, ChatCompletionToolMessageParam, ChatCompletionMessageParam, OpenAITool, ChatCompletionToolParam, OpenAIDynamicConfig, OpenAICallParams, FinishReason]
A class for convenience around streaming OpenAI LLM calls.
Example:
from mirascope.core import prompt_template
from mirascope.core.openai import openai_call
@openai_call("gpt-4o-mini", stream=True)
def recommend_book(genre: str) -> str:
return f"Recommend a {genre} book"
stream = recommend_book("fantasy") # returns `OpenAIStream` instance
for chunk, _ in stream:
print(chunk.content, end="", flush=True)
Source code in mirascope/core/base/stream.py
construct_call_response
¶
construct_call_response() -> OpenAICallResponse
Constructs the call response from a consumed OpenAIStream.
Raises:
Type | Description |
---|---|
ValueError
|
if the stream has not yet been consumed. |