From 2e91781faddbf61030d141dfce983a5f99891d99 Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Sun, 19 Mar 2023 13:57:51 +0100 Subject: [PATCH] robustness of gpt calls --- Chatbot.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Chatbot.py b/Chatbot.py index 7f3b981..eb840ff 100644 --- a/Chatbot.py +++ b/Chatbot.py @@ -292,7 +292,9 @@ class Chatbot(commands.Cog): if random.random() > 0.9: try: # GPT request moet echt even in een non-blocking executortje, anders loopt de hele boel vast - return await self.bot.loop.run_in_executor(None,self.getResponseForMessageOnline, wordsToRespondTo) + response = await self.bot.loop.run_in_executor(None,self.getResponseForMessageOnline, wordsToRespondTo) + if response: + return response # Anders door naar local except: pass # Door naar local call return self.getResponseForMessageLocal(wordsToRespondTo) @@ -303,8 +305,11 @@ class Chatbot(commands.Cog): return req.json()["translations"][0]["text"] def getResponseForMessageOnline(self, wordsToRespondTo): - text = self.translateTo("en", " ".join(wordsToRespondTo)) - req = requests.post('http://gpt.hoekveen.net/complete', json={"prompt": text, "max_tokens": 60}) + prompt = " ".join(wordsToRespondTo) + if not prompt: + prompt = self.getResponseForMessageLocal([]) + text = self.translateTo("en", prompt) + req = requests.post('http://gpt.hoekveen.net/complete', json={"prompt": text, "max_tokens": 80}) print(req.json()) respons = req.json()["text"] respons = respons[0:respons.rfind(".")+1] # Alles weg na de laatste punt