Refactor error handling in GenerateTaskPipeline class (#2345)

This commit is contained in:
limbo 2024-02-02 12:34:08 +08:00 committed by GitHub
parent cd078a6264
commit a58612718e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -463,37 +463,23 @@ class GenerateTaskPipeline:
:param e: exception :param e: exception
:return: :return:
""" """
if isinstance(e, ValueError): error_responses = {
data = { ValueError: {'code': 'invalid_param', 'status': 400},
'code': 'invalid_param', ProviderTokenNotInitError: {'code': 'provider_not_initialize', 'status': 400},
'message': str(e), QuotaExceededError: {
'status': 400
}
elif isinstance(e, ProviderTokenNotInitError):
data = {
'code': 'provider_not_initialize',
'message': e.description,
'status': 400
}
elif isinstance(e, QuotaExceededError):
data = {
'code': 'provider_quota_exceeded', 'code': 'provider_quota_exceeded',
'message': "Your quota for Dify Hosted Model Provider has been exhausted. " 'message': "Your quota for Dify Hosted Model Provider has been exhausted. "
"Please go to Settings -> Model Provider to complete your own provider credentials.", "Please go to Settings -> Model Provider to complete your own provider credentials.",
'status': 400 'status': 400
},
ModelCurrentlyNotSupportError: {'code': 'model_currently_not_support', 'status': 400},
InvokeError: {'code': 'completion_request_error', 'status': 400}
} }
elif isinstance(e, ModelCurrentlyNotSupportError):
data = { # Determine the response based on the type of exception
'code': 'model_currently_not_support', data = error_responses.get(type(e))
'message': e.description, if data:
'status': 400 data.setdefault('message', getattr(e, 'description', str(e)))
}
elif isinstance(e, InvokeError):
data = {
'code': 'completion_request_error',
'message': e.description,
'status': 400
}
else: else:
logging.error(e) logging.error(e)
data = { data = {