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")