mirror of
https://github.com/Paillat-dev/Botator.git
synced 2026-01-02 01:06:19 +00:00
🔧 chore(requirements.txt): comment out py-cord and add pycord from GitHub repository to use the latest version
🔧 chore(ChatProcess.py): import fetch_messages_history function from Chat module to use it in Chat class 🔧 chore(ChatProcess.py): import moderate and ModerationError from utils.misc module to use them in Chat class 🔧 chore(Chat.py): add fetch_messages_history function to fetch message history from a channel 🔧 chore(Chat.py): add formatContext function to format the context for the bot to use 🔧 chore(Chat.py): raise an exception if no openai api key is set 🔧 chore(Chat.py): add logic to filter and format messages for the context 🔧 chore(Chat.py): fix typo in the import statement for ModerationError 🔧 chore(Chat.py): fix typo in the import statement for moderate 🔧 chore(Chat.py): fix typo in the import statement for fetch_messages_history 🔧 chore(prompts.py): create prompts dictionary and read chat and text prompts from files for each character 🔧 chore(prompts.py): create createPrompt function to create a prompt from the messages list 🔧 chore(prompts.py): create createTextPrompt function to create a text prompt from the messages list 🔧 chore(prompts.py): create createChatPrompt function to create a chat prompt from the messages list 🔧 chore(requesters/llama.py): create llama function as a placeholder 🔧 chore(requesters/llama2.py): create llama2 function as a placeholder 🔧 chore(requesters/openaiChat.py): import openai_caller from utils.openaicaller module 🔧 chore(requesters/openaiChat.py): create openaiChat function as a placeholder 🔧 chore(requesters/openaiText.py): create openaiText function as a placeholder 🔧 chore(requesters/request.py): import openaiChat, openaiText, llama, and llama2 functions from respective modules 🔧 chore(requesters/request.py): create request function to handle different models and make requests
This commit is contained in:
@@ -8,6 +8,7 @@ import json
|
||||
from src.utils.misc import moderate, ModerationError, Hasher
|
||||
from src.utils.variousclasses import models, characters, apis
|
||||
from src.guild import Guild
|
||||
from src.chatUtils.Chat import fetch_messages_history
|
||||
from src.utils.openaicaller import openai_caller
|
||||
from src.functionscalls import (
|
||||
call_function,
|
||||
@@ -15,6 +16,7 @@ from src.functionscalls import (
|
||||
server_normal_channel_functions,
|
||||
FuntionCallError,
|
||||
)
|
||||
from utils.misc import moderate, ModerationError
|
||||
|
||||
|
||||
class Chat:
|
||||
@@ -84,3 +86,29 @@ class Chat:
|
||||
self.model = self.settings["model"]
|
||||
self.character = self.settings["character"]
|
||||
self.openai_api_key = self.guild.api_keys.get("openai", None)
|
||||
if self.openai_api_key == None:
|
||||
raise Exception("No openai api key is set")
|
||||
|
||||
async def formatContext(self):
|
||||
"""
|
||||
This function formats the context for the bot to use
|
||||
"""
|
||||
messages: list[discord.Message] = await fetch_messages_history(
|
||||
self.message.channel, 10, self.original_message
|
||||
)
|
||||
self.context = []
|
||||
for msg in messages:
|
||||
if msg.author.id == self.bot.user.id:
|
||||
role = "assistant"
|
||||
name = "assistant"
|
||||
else:
|
||||
role = "user"
|
||||
name = msg.author.global_name
|
||||
if not moderate(self.openai_api_key, msg.content):
|
||||
self.context.append(
|
||||
{
|
||||
"role": role,
|
||||
"content": msg.content,
|
||||
"name": name,
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user