From 2f1f00a29ec70ac75ee35897d9a3c7fbe207db41 Mon Sep 17 00:00:00 2001 From: phixxy Date: Sun, 28 Apr 2024 13:07:01 -0700 Subject: [PATCH] added cost logging for log_images --- cogs/chatgpt.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cogs/chatgpt.py b/cogs/chatgpt.py index 6d854a9..ef1a392 100644 --- a/cogs/chatgpt.py +++ b/cogs/chatgpt.py @@ -698,8 +698,12 @@ class ChatGPT(commands.Cog): self.logger.exception("Some error happened while trying to react to a message") async def view_image(self, image_link): + if self.dalle_budget <= await self.get_monthly_cost(): + self.logger.info("View_image failed due to budget") + return (1337, "View_image API call failed due to budget. Consider using !donate to fund the bot.") + model = "gpt-4-vision-preview" data = { - "model": "gpt-4-vision-preview", + "model": model, "messages": [{"role": "user", "content": [{"type": "text", "text": "Describe this"},{"type": "image_url","image_url": {"url": image_link}}]}], "max_tokens": 500 } @@ -711,6 +715,10 @@ class ChatGPT(commands.Cog): response_data = await resp.json() self.logger.debug(response_data) answer = response_data['choices'][0]['message']['content'] + input_tokens = response_data['usage']['prompt_tokens'] + output_tokens = response_data['usage']['completion_tokens'] + cost = self.text_cost_calc(model, input_tokens, output_tokens) + self.add_cost(model, cost) except Exception as error: self.logger.exception("error occurred in view_image")