ccproxy.llms.streaming.formatters¶
ccproxy.llms.streaming.formatters
¶
SSE formatting utilities for streaming responses.
This module provides Server-Sent Events (SSE) formatting classes for converting streaming responses to different formats.
AnthropicSSEFormatter
¶
Formats streaming responses to match Anthropic's Messages API SSE format.
format_event
staticmethod
¶
Format an event for Anthropic Messages API Server-Sent Events.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event_type
|
str
|
Event type (e.g., 'message_start', 'content_block_delta') |
required |
data
|
dict[str, Any]
|
Event data dictionary |
required |
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string with event and data lines |
Source code in ccproxy/llms/streaming/formatters.py
format_ping
staticmethod
¶
OpenAISSEFormatter
¶
Formats streaming responses to match OpenAI's SSE format.
format_data_event
staticmethod
¶
format_first_chunk
staticmethod
¶
Format the first chunk with role and basic metadata.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
Unique identifier for the completion |
required |
model
|
str
|
Model name being used |
required |
created
|
int
|
Unix timestamp when the completion was created |
required |
role
|
str
|
Role of the assistant |
'assistant'
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string |
Source code in ccproxy/llms/streaming/formatters.py
format_content_chunk
staticmethod
¶
Format a content chunk with text delta.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
Unique identifier for the completion |
required |
model
|
str
|
Model name being used |
required |
created
|
int
|
Unix timestamp when the completion was created |
required |
content
|
str
|
Text content to include in the delta |
required |
choice_index
|
int
|
Index of the choice (usually 0) |
0
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string |
Source code in ccproxy/llms/streaming/formatters.py
format_tool_call_chunk
staticmethod
¶
format_tool_call_chunk(
message_id,
model,
created,
tool_call_id,
function_name=None,
function_arguments=None,
tool_call_index=0,
choice_index=0,
)
Format a tool call chunk.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
Unique identifier for the completion |
required |
model
|
str
|
Model name being used |
required |
created
|
int
|
Unix timestamp when the completion was created |
required |
tool_call_id
|
str
|
ID of the tool call |
required |
function_name
|
str | None
|
Name of the function being called |
None
|
function_arguments
|
str | None
|
Arguments for the function |
None
|
tool_call_index
|
int
|
Index of the tool call |
0
|
choice_index
|
int
|
Index of the choice (usually 0) |
0
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string |
Source code in ccproxy/llms/streaming/formatters.py
format_final_chunk
staticmethod
¶
Format the final chunk with finish_reason.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
Unique identifier for the completion |
required |
model
|
str
|
Model name being used |
required |
created
|
int
|
Unix timestamp when the completion was created |
required |
finish_reason
|
str
|
Reason for completion (stop, length, tool_calls, etc.) |
'stop'
|
choice_index
|
int
|
Index of the choice (usually 0) |
0
|
usage
|
dict[str, int] | None
|
Optional usage information to include |
None
|
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string |
Source code in ccproxy/llms/streaming/formatters.py
format_error_chunk
staticmethod
¶
Format an error chunk.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message_id
|
str
|
Unique identifier for the completion |
required |
model
|
str
|
Model name being used |
required |
created
|
int
|
Unix timestamp when the completion was created |
required |
error_type
|
str
|
Type of error |
required |
error_message
|
str
|
Error message |
required |
Returns:
| Type | Description |
|---|---|
str
|
Formatted SSE string |