mirror of
https://github.com/Paillat-dev/Botator.git
synced 2026-01-02 01:06:19 +00:00
🐛 fix(ChatProcess.py): import missing 'characters' module from src.utils.variousclasses to fix NameError
✨ feat(ChatProcess.py): add support for custom temperature for each character in the 'characters' module to improve chat responses 🐛 fix(openaiChat.py): add 'temperature' parameter to the 'openaiChat' function to allow custom temperature for generating responses 🐛 fix(request.py): add 'custom_temp' parameter to the 'request' function to pass custom temperature to 'openaiChat' function 🐛 fix(openaicaller.py): reduce sleep time from 10 seconds to 5 seconds for retrying API calls to improve responsiveness ✨ feat(variousclasses.py): add 'custom_temp' dictionary to store custom temperature values for each character to improve chat responses
This commit is contained in:
@@ -6,12 +6,11 @@ import datetime
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from src.utils.misc import moderate
|
from src.utils.misc import moderate
|
||||||
from src.utils.variousclasses import models
|
from src.utils.variousclasses import models, characters
|
||||||
from src.guild import Guild
|
from src.guild import Guild
|
||||||
from src.chatUtils.Chat import fetch_messages_history, is_ignorable
|
from src.chatUtils.Chat import fetch_messages_history, is_ignorable
|
||||||
from src.chatUtils.prompts import createPrompt
|
from src.chatUtils.prompts import createPrompt
|
||||||
from src.functionscalls import call_function, server_normal_channel_functions, functions
|
from src.functionscalls import call_function, server_normal_channel_functions, functions
|
||||||
from src.config import debug
|
|
||||||
from src.chatUtils.requesters.request import request
|
from src.chatUtils.requesters.request import request
|
||||||
|
|
||||||
|
|
||||||
@@ -157,6 +156,7 @@ class Chat:
|
|||||||
prompt=self.prompt,
|
prompt=self.prompt,
|
||||||
openai_api_key=self.openai_api_key,
|
openai_api_key=self.openai_api_key,
|
||||||
funtcions=funcs,
|
funtcions=funcs,
|
||||||
|
custom_temp=characters.custom_temp.get(self.character, 1.2),
|
||||||
)
|
)
|
||||||
|
|
||||||
async def processResponse(self):
|
async def processResponse(self):
|
||||||
|
|||||||
@@ -2,12 +2,14 @@ import orjson
|
|||||||
from src.utils.openaicaller import openai_caller
|
from src.utils.openaicaller import openai_caller
|
||||||
|
|
||||||
|
|
||||||
async def openaiChat(messages, functions, openai_api_key, model="gpt-3.5-turbo"):
|
async def openaiChat(
|
||||||
|
messages, functions, openai_api_key, model="gpt-3.5-turbo", temperature=1.2
|
||||||
|
):
|
||||||
caller = openai_caller()
|
caller = openai_caller()
|
||||||
response = await caller.generate_response(
|
response = await caller.generate_response(
|
||||||
api_key=openai_api_key,
|
api_key=openai_api_key,
|
||||||
model=model,
|
model=model,
|
||||||
temperature=1.3,
|
temperature=temperature,
|
||||||
messages=messages,
|
messages=messages,
|
||||||
functions=functions,
|
functions=functions,
|
||||||
function_call="auto",
|
function_call="auto",
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ async def request(
|
|||||||
prompt: list[dict] | str,
|
prompt: list[dict] | str,
|
||||||
openai_api_key: str,
|
openai_api_key: str,
|
||||||
funtcions: list[dict] = None,
|
funtcions: list[dict] = None,
|
||||||
|
custom_temp: float = 1.2,
|
||||||
):
|
):
|
||||||
if model == "gpt-3.5-turbo":
|
if model == "gpt-3.5-turbo":
|
||||||
return await openaiChat(
|
return await openaiChat(
|
||||||
@@ -21,6 +22,7 @@ async def request(
|
|||||||
openai_api_key=openai_api_key,
|
openai_api_key=openai_api_key,
|
||||||
functions=funtcions,
|
functions=funtcions,
|
||||||
model=model,
|
model=model,
|
||||||
|
temperature=custom_temp,
|
||||||
)
|
)
|
||||||
elif model == "text-davinci-003":
|
elif model == "text-davinci-003":
|
||||||
# return await openaiText(prompt=prompt, openai_api_key=openai_api_key)
|
# return await openaiText(prompt=prompt, openai_api_key=openai_api_key)
|
||||||
|
|||||||
@@ -147,21 +147,21 @@ class openai_caller:
|
|||||||
await recall_func(
|
await recall_func(
|
||||||
"`An APIError occurred. This is not your fault, it is OpenAI's fault. We apologize for the inconvenience. Retrying...`"
|
"`An APIError occurred. This is not your fault, it is OpenAI's fault. We apologize for the inconvenience. Retrying...`"
|
||||||
)
|
)
|
||||||
await asyncio.sleep(10)
|
await asyncio.sleep(5)
|
||||||
i += 1
|
i += 1
|
||||||
except Timeout as e:
|
except Timeout as e:
|
||||||
print(
|
print(
|
||||||
f"\n\n{bcolors.BOLD}{bcolors.WARNING}The request timed out. Retrying...{bcolors.ENDC}"
|
f"\n\n{bcolors.BOLD}{bcolors.WARNING}The request timed out. Retrying...{bcolors.ENDC}"
|
||||||
)
|
)
|
||||||
await recall_func("`The request timed out. Retrying...`")
|
await recall_func("`The request timed out. Retrying...`")
|
||||||
await asyncio.sleep(10)
|
await asyncio.sleep(5)
|
||||||
i += 1
|
i += 1
|
||||||
except RateLimitError as e:
|
except RateLimitError as e:
|
||||||
print(
|
print(
|
||||||
f"\n\n{bcolors.BOLD}{bcolors.WARNING}RateLimitError. You are being rate limited. Retrying...{bcolors.ENDC}"
|
f"\n\n{bcolors.BOLD}{bcolors.WARNING}RateLimitError. You are being rate limited. Retrying...{bcolors.ENDC}"
|
||||||
)
|
)
|
||||||
await recall_func("`You are being rate limited. Retrying...`")
|
await recall_func("`You are being rate limited. Retrying...`")
|
||||||
await asyncio.sleep(10)
|
await asyncio.sleep(5)
|
||||||
i += 1
|
i += 1
|
||||||
except APIConnectionError as e:
|
except APIConnectionError as e:
|
||||||
print(
|
print(
|
||||||
@@ -185,7 +185,7 @@ class openai_caller:
|
|||||||
f"\n\n{bcolors.BOLD}{bcolors.WARNING}ServiceUnavailableError. The OpenAI API is not responding. Retrying...{bcolors.ENDC}"
|
f"\n\n{bcolors.BOLD}{bcolors.WARNING}ServiceUnavailableError. The OpenAI API is not responding. Retrying...{bcolors.ENDC}"
|
||||||
)
|
)
|
||||||
await recall_func("`The OpenAI API is not responding. Retrying...`")
|
await recall_func("`The OpenAI API is not responding. Retrying...`")
|
||||||
await asyncio.sleep(10)
|
await asyncio.sleep(5)
|
||||||
await recall_func()
|
await recall_func()
|
||||||
i += 1
|
i += 1
|
||||||
finally:
|
finally:
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ class characters:
|
|||||||
"Botator roleplay (premium)": "botator-roleplay",
|
"Botator roleplay (premium)": "botator-roleplay",
|
||||||
"Zenith - Asimov's Laws (premium)": "zenith",
|
"Zenith - Asimov's Laws (premium)": "zenith",
|
||||||
}
|
}
|
||||||
|
custom_temp = {
|
||||||
|
"zenith": 1.8,
|
||||||
|
"botator-roleplay": 1.8,
|
||||||
|
}
|
||||||
|
|
||||||
reverseMatchingDict = {v: k for k, v in matchingDict.items()}
|
reverseMatchingDict = {v: k for k, v in matchingDict.items()}
|
||||||
default = list(matchingDict.keys())[0]
|
default = list(matchingDict.keys())[0]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user