cddb07a176
docs / deploy (push) Has been cancelled
docs / changes (push) Has been cancelled
docs / check-and-build (push) Has been cancelled
build container image / cpu (push) Has been cancelled
build container image / cuda (push) Has been cancelled
build container image / rocm (push) Has been cancelled
frontend checks / frontend-checks (push) Has been cancelled
frontend tests / frontend-tests (push) Has been cancelled
lfs checks / lfs-check (push) Has been cancelled
python checks / python-checks (push) Has been cancelled
python tests / py3.12: macos-default (push) Has been cancelled
python tests / py3.11: windows-cpu (push) Has been cancelled
python tests / py3.12: windows-cpu (push) Has been cancelled
python tests / py3.11: linux-cpu (push) Has been cancelled
typegen checks / typegen-checks (push) Has been cancelled
uv lock checks / uv-lock-checks (push) Has been cancelled
openapi checks / openapi-checks (push) Has been cancelled
python tests / py3.11: macos-default (push) Has been cancelled
python tests / py3.12: linux-cpu (push) Has been cancelled
29 lines
954 B
Python
29 lines
954 B
Python
class ExternalGenerationError(Exception):
|
|
"""Base error for external generation."""
|
|
|
|
|
|
class ExternalProviderNotFoundError(ExternalGenerationError):
|
|
"""Raised when no provider is registered for a model."""
|
|
|
|
|
|
class ExternalProviderNotConfiguredError(ExternalGenerationError):
|
|
"""Raised when a provider is missing required credentials."""
|
|
|
|
|
|
class ExternalProviderCapabilityError(ExternalGenerationError):
|
|
"""Raised when a request is not supported by provider capabilities."""
|
|
|
|
|
|
class ExternalProviderRequestError(ExternalGenerationError):
|
|
"""Raised when a provider rejects the request or returns an error."""
|
|
|
|
|
|
class ExternalProviderRateLimitError(ExternalProviderRequestError):
|
|
"""Raised when a provider returns HTTP 429 (rate limit exceeded)."""
|
|
|
|
retry_after: float | None
|
|
|
|
def __init__(self, message: str, retry_after: float | None = None) -> None:
|
|
super().__init__(message)
|
|
self.retry_after = retry_after
|