strands.models.writer
Writer model provider.
WriterModel
Section titled “WriterModel”class WriterModel(Model)Defined in: src/strands/models/writer.py:29
Writer API model provider implementation.
WriterConfig
Section titled “WriterConfig”class WriterConfig(TypedDict)Defined in: src/strands/models/writer.py:32
Configuration options for Writer API.
Attributes:
model_id- Model name to use (e.g. palmyra-x5, palmyra-x4, etc.).max_tokens- Maximum number of tokens to generate.stop- Default stop sequences.stream_options- Additional options for streaming.temperature- What sampling temperature to use.top_p- Threshold for ‘nucleus sampling’
__init__
Section titled “__init__”def __init__(client_args: dict[str, Any] | None = None, **model_config: Unpack[WriterConfig])Defined in: src/strands/models/writer.py:51
Initialize provider instance.
Arguments:
client_args- Arguments for the Writer client (e.g., api_key, base_url, timeout, etc.).**model_config- Configuration options for the Writer model.
update_config
Section titled “update_config”@overridedef update_config(**model_config: Unpack[WriterConfig]) -> NoneDefined in: src/strands/models/writer.py:67
Update the Writer Model configuration with the provided arguments.
Arguments:
**model_config- Configuration overrides.
get_config
Section titled “get_config”@overridedef get_config() -> WriterConfigDefined in: src/strands/models/writer.py:77
Get the Writer model configuration.
Returns:
The Writer model configuration.
format_request
Section titled “format_request”def format_request(messages: Messages, tool_specs: list[ToolSpec] | None = None, system_prompt: str | None = None) -> AnyDefined in: src/strands/models/writer.py:258
Format a streaming request to the underlying model.
Arguments:
messages- List of message objects to be processed by the model.tool_specs- List of tool specifications to make available to the model.system_prompt- System prompt to provide context to the model.
Returns:
The formatted request.
format_chunk
Section titled “format_chunk”def format_chunk(event: Any) -> StreamEventDefined in: src/strands/models/writer.py:299
Format the model response events into standardized message chunks.
Arguments:
event- A response event from the model.
Returns:
The formatted chunk.
stream
Section titled “stream”@overrideasync def stream(messages: Messages, tool_specs: list[ToolSpec] | None = None, system_prompt: str | None = None, *, tool_choice: ToolChoice | None = None, **kwargs: Any) -> AsyncGenerator[StreamEvent, None]Defined in: src/strands/models/writer.py:364
Stream conversation with the Writer model.
Arguments:
messages- List of message objects to be processed by the model.tool_specs- List of tool specifications to make available to the model.system_prompt- System prompt to provide context to the model.tool_choice- Selection strategy for tool invocation. Note: This parameter is accepted for interface consistency but is currently ignored for this model provider.**kwargs- Additional keyword arguments for future extensibility.
Yields:
Formatted message chunks from the model.
Raises:
ModelThrottledException- When the model service is throttling requests from the client.
structured_output
Section titled “structured_output”@overrideasync def structured_output( output_model: type[T], prompt: Messages, system_prompt: str | None = None, **kwargs: Any) -> AsyncGenerator[dict[str, T | Any], None]Defined in: src/strands/models/writer.py:444
Get structured output from the model.
Arguments:
output_model- The output model to use for the agent.prompt- The prompt messages to use for the agent.system_prompt- System prompt to provide context to the model.**kwargs- Additional keyword arguments for future extensibility.