10% kans op nieuwe GPT #24

Merged
jp merged 5 commits from gpt into master 2023-03-18 23:42:06 +01:00
Showing only changes of commit 4f55dd9dd6 - Show all commits
+27 -2
View File
@@ -2,6 +2,8 @@ import discord
from discord.ext import commands from discord.ext import commands
import numpy as np import numpy as np
import random import random
import requests
import asyncio
from datetime import datetime from datetime import datetime
import re import re
@@ -283,11 +285,34 @@ class Chatbot(commands.Cog):
async def respondToMessage(self, message): async def respondToMessage(self, message):
wordsToRespondTo = message.content.strip().split() wordsToRespondTo = message.content.strip().split()
response = self.getResponseForMessage(wordsToRespondTo) response = await self.getResponseForMessage(wordsToRespondTo)
await message.channel.send(response) await message.channel.send(response)
#Gets a response #Gets a response
def getResponseForMessage(self, wordsToRespondTo): async def getResponseForMessage(self, wordsToRespondTo):
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)
except:
pass
else:
return self.getResponseForMessageLocal(wordsToRespondTo)
def translateTo(self, language, text):
req = requests.post('http://gpt.hoekveen.net/translate', json={"text": text, "source_lang": "auto", "target_lang": language})
print(req.json())
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})
print(req.json())
respons = req.json()["text"]
respons = respons[0:respons.rfind(".")+1] # Alles weg na de laatste punt
return self.translateTo("nl", respons)
def getResponseForMessageLocal(self, wordsToRespondTo):
MAX_N_WORDS = 100 #Don't use more words than this MAX_N_WORDS = 100 #Don't use more words than this