Spaces:
Sleeping
Sleeping
from typing import Any, List, Optional, Union | |
from aiohttp import ClientResponse | |
from httpx import Headers, Response | |
from litellm.llms.base_llm.chat.transformation import BaseLLMException | |
from litellm.llms.base_llm.image_variations.transformation import LiteLLMLoggingObj | |
from litellm.types.llms.openai import OpenAIImageVariationOptionalParams | |
from litellm.types.utils import FileTypes, HttpHandlerRequestFields, ImageResponse | |
from ...base_llm.image_variations.transformation import BaseImageVariationConfig | |
from ..common_utils import OpenAIError | |
class OpenAIImageVariationConfig(BaseImageVariationConfig): | |
def get_supported_openai_params( | |
self, model: str | |
) -> List[OpenAIImageVariationOptionalParams]: | |
return ["n", "size", "response_format", "user"] | |
def map_openai_params( | |
self, | |
non_default_params: dict, | |
optional_params: dict, | |
model: str, | |
drop_params: bool, | |
) -> dict: | |
optional_params.update(non_default_params) | |
return optional_params | |
def transform_request_image_variation( | |
self, | |
model: Optional[str], | |
image: FileTypes, | |
optional_params: dict, | |
headers: dict, | |
) -> HttpHandlerRequestFields: | |
return { | |
"data": { | |
"image": image, | |
**optional_params, | |
} | |
} | |
async def async_transform_response_image_variation( | |
self, | |
model: Optional[str], | |
raw_response: ClientResponse, | |
model_response: ImageResponse, | |
logging_obj: LiteLLMLoggingObj, | |
request_data: dict, | |
image: FileTypes, | |
optional_params: dict, | |
litellm_params: dict, | |
encoding: Any, | |
api_key: Optional[str] = None, | |
) -> ImageResponse: | |
return model_response | |
def transform_response_image_variation( | |
self, | |
model: Optional[str], | |
raw_response: Response, | |
model_response: ImageResponse, | |
logging_obj: LiteLLMLoggingObj, | |
request_data: dict, | |
image: FileTypes, | |
optional_params: dict, | |
litellm_params: dict, | |
encoding: Any, | |
api_key: Optional[str] = None, | |
) -> ImageResponse: | |
return model_response | |
def get_error_class( | |
self, error_message: str, status_code: int, headers: Union[dict, Headers] | |
) -> BaseLLMException: | |
return OpenAIError( | |
status_code=status_code, | |
message=error_message, | |
headers=headers, | |
) | |