diff --git a/litellm/__init__.py b/litellm/__init__.py index 5a10ae77c1..956834afc3 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -888,6 +888,7 @@ from .exceptions import ( APIError, Timeout, APIConnectionError, + UnsupportedParamsError, APIResponseValidationError, UnprocessableEntityError, InternalServerError, diff --git a/litellm/exceptions.py b/litellm/exceptions.py index 414b3e002a..d2337b7f49 100644 --- a/litellm/exceptions.py +++ b/litellm/exceptions.py @@ -682,11 +682,39 @@ class JSONSchemaValidationError(APIError): ) +class UnsupportedParamsError(BadRequestError): + def __init__( + self, + message, + llm_provider: Optional[str] = None, + model: Optional[str] = None, + status_code: int = 400, + response: Optional[httpx.Response] = None, + litellm_debug_info: Optional[str] = None, + max_retries: Optional[int] = None, + num_retries: Optional[int] = None, + ): + self.status_code = 400 + self.message = "litellm.UnsupportedParamsError: {}".format(message) + self.model = model + self.llm_provider = llm_provider + self.litellm_debug_info = litellm_debug_info + response = response or httpx.Response( + status_code=self.status_code, + request=httpx.Request( + method="GET", url="https://litellm.ai" + ), # mock request object + ) + self.max_retries = max_retries + self.num_retries = num_retries + + LITELLM_EXCEPTION_TYPES = [ AuthenticationError, NotFoundError, BadRequestError, UnprocessableEntityError, + UnsupportedParamsError, Timeout, PermissionDeniedError, RateLimitError,