ccproxy.adapters.openai.adapter¶
ccproxy.adapters.openai.adapter
¶
OpenAI API adapter implementation.
This module provides the OpenAI adapter that implements the APIAdapter interface for converting between OpenAI and Anthropic API formats.
OpenAIChatCompletionRequest
¶
Bases: BaseModel
OpenAI-compatible chat completion request model.
validate_model
classmethod
¶
validate_messages
classmethod
¶
Validate message structure.
validate_stop
classmethod
¶
Validate stop sequences.
Source code in ccproxy/adapters/openai/models.py
validate_tools
classmethod
¶
Validate tools array.
Source code in ccproxy/adapters/openai/models.py
OpenAIAdapter
¶
Bases: APIAdapter
OpenAI API adapter for converting between OpenAI and Anthropic formats.
Source code in ccproxy/adapters/openai/adapter.py
adapt_request
¶
Convert OpenAI request format to Anthropic format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
request
|
dict[str, Any]
|
OpenAI format request |
required |
Returns:
Type | Description |
---|---|
dict[str, Any]
|
Anthropic format request |
Raises:
Type | Description |
---|---|
ValueError
|
If the request format is invalid or unsupported |
Source code in ccproxy/adapters/openai/adapter.py
adapt_response
¶
Convert Anthropic response format to OpenAI format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
response
|
dict[str, Any]
|
Anthropic format response |
required |
Returns:
Type | Description |
---|---|
dict[str, Any]
|
OpenAI format response |
Raises:
Type | Description |
---|---|
ValueError
|
If the response format is invalid or unsupported |
Source code in ccproxy/adapters/openai/adapter.py
adapt_stream
async
¶
Convert Anthropic streaming response to OpenAI streaming format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
stream
|
AsyncIterator[dict[str, Any]]
|
Anthropic streaming response |
required |
Yields:
Type | Description |
---|---|
AsyncIterator[dict[str, Any]]
|
OpenAI format streaming chunks |
Raises:
Type | Description |
---|---|
ValueError
|
If the stream format is invalid or unsupported |
Source code in ccproxy/adapters/openai/adapter.py
adapt_error
¶
Convert Anthropic error format to OpenAI error format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
error_body
|
dict[str, Any]
|
Anthropic error response |
required |
Returns:
Type | Description |
---|---|
dict[str, Any]
|
OpenAI-formatted error response |