Selaa lähdekoodia

feat: optimize openai error raise (#459)

John Wang 1 vuosi sitten
vanhempi
commit
df5763be37
1 muutettua tiedostoa jossa 8 lisäystä ja 4 poistoa
  1. 8 4
      api/core/llm/error_handle_wraps.py

+ 8 - 4
api/core/llm/error_handle_wraps.py

@@ -17,14 +17,16 @@ def handle_llm_exceptions(func):
             raise LLMBadRequestError(str(e))
         except openai.error.APIConnectionError as e:
             logging.exception("Failed to connect to OpenAI API.")
-            raise LLMAPIConnectionError(str(e))
+            raise LLMAPIConnectionError(e.__class__.__name__ + ":" + str(e))
         except (openai.error.APIError, openai.error.ServiceUnavailableError, openai.error.Timeout) as e:
             logging.exception("OpenAI service unavailable.")
-            raise LLMAPIUnavailableError(str(e))
+            raise LLMAPIUnavailableError(e.__class__.__name__ + ":" + str(e))
         except openai.error.RateLimitError as e:
             raise LLMRateLimitError(str(e))
         except openai.error.AuthenticationError as e:
             raise LLMAuthorizationError(str(e))
+        except openai.error.OpenAIError as e:
+            raise LLMBadRequestError(e.__class__.__name__ + ":" + str(e))
 
     return wrapper
 
@@ -39,13 +41,15 @@ def handle_llm_exceptions_async(func):
             raise LLMBadRequestError(str(e))
         except openai.error.APIConnectionError as e:
             logging.exception("Failed to connect to OpenAI API.")
-            raise LLMAPIConnectionError(str(e))
+            raise LLMAPIConnectionError(e.__class__.__name__ + ":" + str(e))
         except (openai.error.APIError, openai.error.ServiceUnavailableError, openai.error.Timeout) as e:
             logging.exception("OpenAI service unavailable.")
-            raise LLMAPIUnavailableError(str(e))
+            raise LLMAPIUnavailableError(e.__class__.__name__ + ":" + str(e))
         except openai.error.RateLimitError as e:
             raise LLMRateLimitError(str(e))
         except openai.error.AuthenticationError as e:
             raise LLMAuthorizationError(str(e))
+        except openai.error.OpenAIError as e:
+            raise LLMBadRequestError(e.__class__.__name__ + ":" + str(e))
 
     return wrapper