33from openai import OpenAI , RateLimitError , APIError , OpenAIError
44from config import OPENAI_API_KEY
55
6- # Настройка логгера
6+ # Configure logging
77logger = logging .getLogger (__name__ )
88
99# Initialize client
1010client = OpenAI (api_key = OPENAI_API_KEY ) if OPENAI_API_KEY else None
1111
1212# Max retries and delay between retries
1313MAX_RETRIES = 3
14- RETRY_DELAY = 5 # Увеличиваем задержку между попытками
14+ RETRY_DELAY = 5 # Icrease delay for each retry
1515
1616
1717# Локальный генератор
@@ -61,7 +61,7 @@ async def generate_study_plan(topic: str) -> list:
6161 except RateLimitError as e :
6262 logger .warning ("Rate limit error: %s. Retrying in %s seconds..." ,
6363 str (e ), RETRY_DELAY * (attempt + 1 ))
64- await asyncio .sleep (RETRY_DELAY * (attempt + 1 )) # Экспоненциальная задержка
64+ await asyncio .sleep (RETRY_DELAY * (attempt + 1 )) # Exponential backoff
6565
6666 except (APIError , OpenAIError ) as e :
6767 logger .error ("OpenAI API error: %s" , str (e ))
@@ -72,6 +72,6 @@ async def generate_study_plan(topic: str) -> list:
7272 logger .error ("Unexpected error: %s" , str (e ))
7373 return generate_local_plan (topic )
7474
75- # Если все попытки исчерпаны, используем локальный генератор
75+ # If all attempts fail, fallback to local generator
7676 logger .warning ("All OpenAI API attempts failed, using local generator" )
7777 return generate_local_plan (topic )
0 commit comments