Unverified Commit df5763be authored by John Wang's avatar John Wang Committed by GitHub

feat: optimize openai error raise (#459)

parent 80eebc24
...@@ -17,14 +17,16 @@ def handle_llm_exceptions(func): ...@@ -17,14 +17,16 @@ def handle_llm_exceptions(func):
raise LLMBadRequestError(str(e)) raise LLMBadRequestError(str(e))
except openai.error.APIConnectionError as e: except openai.error.APIConnectionError as e:
logging.exception("Failed to connect to OpenAI API.") 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: except (openai.error.APIError, openai.error.ServiceUnavailableError, openai.error.Timeout) as e:
logging.exception("OpenAI service unavailable.") logging.exception("OpenAI service unavailable.")
raise LLMAPIUnavailableError(str(e)) raise LLMAPIUnavailableError(e.__class__.__name__ + ":" + str(e))
except openai.error.RateLimitError as e: except openai.error.RateLimitError as e:
raise LLMRateLimitError(str(e)) raise LLMRateLimitError(str(e))
except openai.error.AuthenticationError as e: except openai.error.AuthenticationError as e:
raise LLMAuthorizationError(str(e)) raise LLMAuthorizationError(str(e))
except openai.error.OpenAIError as e:
raise LLMBadRequestError(e.__class__.__name__ + ":" + str(e))
return wrapper return wrapper
...@@ -39,13 +41,15 @@ def handle_llm_exceptions_async(func): ...@@ -39,13 +41,15 @@ def handle_llm_exceptions_async(func):
raise LLMBadRequestError(str(e)) raise LLMBadRequestError(str(e))
except openai.error.APIConnectionError as e: except openai.error.APIConnectionError as e:
logging.exception("Failed to connect to OpenAI API.") 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: except (openai.error.APIError, openai.error.ServiceUnavailableError, openai.error.Timeout) as e:
logging.exception("OpenAI service unavailable.") logging.exception("OpenAI service unavailable.")
raise LLMAPIUnavailableError(str(e)) raise LLMAPIUnavailableError(e.__class__.__name__ + ":" + str(e))
except openai.error.RateLimitError as e: except openai.error.RateLimitError as e:
raise LLMRateLimitError(str(e)) raise LLMRateLimitError(str(e))
except openai.error.AuthenticationError as e: except openai.error.AuthenticationError as e:
raise LLMAuthorizationError(str(e)) raise LLMAuthorizationError(str(e))
except openai.error.OpenAIError as e:
raise LLMBadRequestError(e.__class__.__name__ + ":" + str(e))
return wrapper return wrapper
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment