""" GPT клиент - отправка запросов к нейросети """ import time import requests from config import GPT_SERVER_URL, GPT_MAX_RETRIES, GPT_TIMEOUT from utils import logger import work_parser as wp def gpt_response_message(content: str, name_promt: str) -> str: """ Отправляет текст на обработку GPT серверу Возвращает ответ или пустую строку при ошибке """ contentGPT = wp.get_promt(name_promt).replace('{content}', content) url = GPT_SERVER_URL params = {'text': contentGPT} max_retries = GPT_MAX_RETRIES retries = 0 while retries < max_retries: try: response = requests.get(url, params=params, timeout=GPT_TIMEOUT) return response.text except requests.exceptions.ConnectTimeout as e: print(f"Ошибка подключения (timeout): {e}") logger.warning(f"gpt_response_message timeout:") retries += 1 if retries < max_retries: time.sleep(2 ** (retries - 1)) except requests.exceptions.ConnectionError as e: print(f"Ошибка соединения: {e}") logger.warning(f"gpt_response_message connection error: ") retries += 1 if retries < max_retries: time.sleep(2 ** (retries - 1)) except Exception as ex: print(f"Ошибка при запросе к GPT: {ex}") logger.error(f"gpt_response_message: ") retries += 1 if retries < max_retries: time.sleep(2 ** (retries - 1)) logger.info(f"Превышен лимит запросов {max_retries}") return ""