Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
28 lines
568 B
Python
28 lines
568 B
Python
class ModelError(Exception):
|
|
pass
|
|
|
|
|
|
class ModelProviderError(ModelError):
|
|
"""Exception raised when a model provider returns an error."""
|
|
|
|
def __init__(
|
|
self,
|
|
message: str,
|
|
status_code: int = 502,
|
|
model: str | None = None,
|
|
):
|
|
super().__init__(message, status_code)
|
|
self.model = model
|
|
|
|
|
|
class ModelRateLimitError(ModelProviderError):
|
|
"""Exception raised when a model provider returns a rate limit error."""
|
|
|
|
def __init__(
|
|
self,
|
|
message: str,
|
|
status_code: int = 429,
|
|
model: str | None = None,
|
|
):
|
|
super().__init__(message, status_code, model)
|