From 61a4cfde7e95d47eb06bc6c60ab7b38838819485 Mon Sep 17 00:00:00 2001 From: Oleksandr Kozachuk Date: Wed, 22 Mar 2023 11:41:44 +0100 Subject: [PATCH] Dont wait forever on openai issues. --- fjerkroa_bot/ai_responder.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fjerkroa_bot/ai_responder.py b/fjerkroa_bot/ai_responder.py index a7aab7a..5e7b87e 100644 --- a/fjerkroa_bot/ai_responder.py +++ b/fjerkroa_bot/ai_responder.py @@ -47,7 +47,7 @@ class AIResponder(object): return messages, history async def draw(self, description: str) -> BytesIO: - while True: + for _ in range(7): try: response = await openai.Image.acreate(prompt=description, n=1, size="512x512") async with aiohttp.ClientSession() as session: @@ -55,10 +55,11 @@ class AIResponder(object): return BytesIO(await image.read()) except Exception as err: logging.warning(f"Failed to generate image {repr(description)}: {repr(err)}") + raise RuntimeError(f"Failed to generate image {repr(description)} after multiple retries") async def send(self, message: AIMessage) -> AIResponse: limit = self.config["history-limit"] - while True: + for _ in range(14): messages, history = self._message(message, limit) try: result = await openai.ChatCompletion.acreate(model=self.config["model"], @@ -84,3 +85,4 @@ class AIResponder(object): response['staff'], response['picture'], response['hack']) + raise RuntimeError(f"Failed to generate answer after multiple retries")