diff --git a/lightrag/llm/openai.py b/lightrag/llm/openai.py index b339a0de..2f01c969 100644 --- a/lightrag/llm/openai.py +++ b/lightrag/llm/openai.py @@ -100,10 +100,10 @@ def create_openai_async_client( stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10), retry=( - retry_if_exception_type(RateLimitError) | - retry_if_exception_type(APIConnectionError) | - retry_if_exception_type(APITimeoutError) | - retry_if_exception_type(InvalidResponseError) + retry_if_exception_type(RateLimitError) + | retry_if_exception_type(APIConnectionError) + | retry_if_exception_type(APITimeoutError) + | retry_if_exception_type(InvalidResponseError) ), ) async def openai_complete_if_cache( @@ -230,21 +230,33 @@ async def openai_complete_if_cache( except Exception as e: logger.error(f"Error in stream response: {str(e)}") # Try to clean up resources if possible - if iteration_started and hasattr(response, "aclose") and callable(getattr(response, "aclose", None)): + if ( + iteration_started + and hasattr(response, "aclose") + and callable(getattr(response, "aclose", None)) + ): try: await response.aclose() logger.debug("Successfully closed stream response after error") except Exception as close_error: - logger.warning(f"Failed to close stream response: {close_error}") + logger.warning( + f"Failed to close stream response: {close_error}" + ) raise finally: # Ensure resources are released even if no exception occurs - if iteration_started and hasattr(response, "aclose") and callable(getattr(response, "aclose", None)): + if ( + iteration_started + and hasattr(response, "aclose") + and callable(getattr(response, "aclose", None)) + ): try: await response.aclose() logger.debug("Successfully closed stream response") except Exception as close_error: - logger.warning(f"Failed to close stream response in finally block: {close_error}") + logger.warning( + f"Failed to close stream response in finally block: {close_error}" + ) return inner() @@ -373,9 +385,9 @@ async def nvidia_openai_complete( stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=60), retry=( - retry_if_exception_type(RateLimitError) | - retry_if_exception_type(APIConnectionError) | - retry_if_exception_type(APITimeoutError) + retry_if_exception_type(RateLimitError) + | retry_if_exception_type(APIConnectionError) + | retry_if_exception_type(APITimeoutError) ), ) async def openai_embed(