feat: optimize openai error raise (#459)

This commit is contained in:
John Wang 2023-06-27 12:34:47 +08:00 committed by GitHub
parent 80eebc2414
commit df5763be37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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):
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