ccproxy.llms.formatters.base¶
ccproxy.llms.formatters.base
¶
Base adapter interface for API format conversion.
APIAdapter
¶
Bases: ABC, Generic[RequestType, ResponseType, StreamEventType]
Abstract base class for API format adapters.
Provides strongly-typed interface for converting between different API formats with full type safety and validation.
adapt_request
abstractmethod
async
¶
Convert a request using strongly-typed Pydantic models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request
|
RequestType
|
The typed request model to convert |
required |
Returns:
| Type | Description |
|---|---|
BaseModel
|
The converted typed request model |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the request format is invalid or unsupported |
Source code in ccproxy/llms/formatters/base.py
adapt_response
abstractmethod
async
¶
Convert a response using strongly-typed Pydantic models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
response
|
ResponseType
|
The typed response model to convert |
required |
Returns:
| Type | Description |
|---|---|
BaseModel
|
The converted typed response model |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the response format is invalid or unsupported |
Source code in ccproxy/llms/formatters/base.py
adapt_stream
abstractmethod
¶
Convert a streaming response using strongly-typed Pydantic models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
stream
|
AsyncIterator[StreamEventType]
|
The typed streaming response data to convert |
required |
Yields:
| Type | Description |
|---|---|
AsyncGenerator[BaseModel, None]
|
The converted typed streaming response chunks |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the stream format is invalid or unsupported |
Source code in ccproxy/llms/formatters/base.py
adapt_error
abstractmethod
async
¶
Convert an error response using strongly-typed Pydantic models.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
error
|
BaseModel
|
The typed error response model to convert |
required |
Returns:
| Type | Description |
|---|---|
BaseModel
|
The converted typed error response model |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the error format is invalid or unsupported |
Source code in ccproxy/llms/formatters/base.py
BaseAPIAdapter
¶
Bases: APIAdapter[RequestType, ResponseType, StreamEventType], StreamingConfigurable
Base implementation with common functionality.
Provides strongly-typed interface for API format conversion with better type safety and validation.