mirror of
https://github.com/langgenius/dify-plugin-sdks.git
synced 2026-07-22 10:25:23 -04:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import requests
|
|
|
|
from dify_plugin.errors.model import (
|
|
InvokeAuthorizationError,
|
|
InvokeBadRequestError,
|
|
InvokeConnectionError,
|
|
InvokeError,
|
|
InvokeRateLimitError,
|
|
InvokeServerUnavailableError,
|
|
)
|
|
|
|
|
|
class _CommonOaiApiCompat:
|
|
@property
|
|
def _invoke_error_mapping(self) -> dict[type[InvokeError], list[type[Exception]]]:
|
|
"""
|
|
Map model invoke error to unified error
|
|
The key is the error type thrown to the caller
|
|
The value is the error type thrown by the model,
|
|
which needs to be converted into a unified error type for the caller.
|
|
|
|
:return: Invoke error mapping
|
|
"""
|
|
return {
|
|
InvokeAuthorizationError: [
|
|
requests.exceptions.InvalidHeader, # Missing or Invalid API Key
|
|
],
|
|
InvokeBadRequestError: [
|
|
requests.exceptions.HTTPError, # Invalid Endpoint URL or model name
|
|
requests.exceptions.InvalidURL, # Misconfigured request or other API error
|
|
],
|
|
InvokeRateLimitError: [
|
|
requests.exceptions.RetryError # Too many requests sent in a short period of time
|
|
],
|
|
InvokeServerUnavailableError: [
|
|
requests.exceptions.ConnectionError, # Engine Overloaded
|
|
requests.exceptions.HTTPError, # Server Error
|
|
],
|
|
InvokeConnectionError: [
|
|
requests.exceptions.ConnectTimeout, # Timeout
|
|
requests.exceptions.ReadTimeout, # Timeout
|
|
],
|
|
}
|