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