Files
Botator/src/chatUtils/requesters/openaiChat.py

26 lines
797 B
Python
Raw Normal View History

✨ feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics ✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port 🐛 fix(main.py): remove duplicate cog addition in main.py ✨ feat(main.py): add cogs.Help(bot) to the list of cogs in main.py 🐛 fix(main.py): remove redundant import statements in main.py ✨ feat(main.py): add on_guild_remove event handler in main.py ✨ feat(main.py): add on_guild_join event handler in main.py ✨ feat(main.py): add support for discord.Intents in main.py ✨ feat(main.py): add intents.message_content = True in main.py ✨ feat(main.py): add intents.default() in main.py ✨ feat(main.py): add discord.Bot(intents=intents, help_command=None) in main.py ✨ feat(main.py): add import statements in main.py ✨ feat(main.py): add from src.config import debug, discord_token in main.py ✨ feat(main.py): add import discord in main.py ✨ feat(main.py): add import src.config in main.py ✨ feat(main.py): add import src.cogs in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add import src.cogs.channelSetup in main.py ✨ feat(main.py): add import src.cogs.help in main.py ✨ feat(main.py): add import src.cogs.Chat in main.py ✨ feat(main.py): add import src.cogs.ManageChat in main.py ✨ feat(main.py): add import src.cogs.Moderation in main.py ✨ feat(main.py): add import src.cogs.ChannelSetup in main.py ✨ feat(main.py): add import src.cogs.Help in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add
2023-08-20 12:42:02 +02:00
import orjson
🔧 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
2023-08-19 15:30:57 +02:00
from src.utils.openaicaller import openai_caller
✨ feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics ✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port 🐛 fix(main.py): remove duplicate cog addition in main.py ✨ feat(main.py): add cogs.Help(bot) to the list of cogs in main.py 🐛 fix(main.py): remove redundant import statements in main.py ✨ feat(main.py): add on_guild_remove event handler in main.py ✨ feat(main.py): add on_guild_join event handler in main.py ✨ feat(main.py): add support for discord.Intents in main.py ✨ feat(main.py): add intents.message_content = True in main.py ✨ feat(main.py): add intents.default() in main.py ✨ feat(main.py): add discord.Bot(intents=intents, help_command=None) in main.py ✨ feat(main.py): add import statements in main.py ✨ feat(main.py): add from src.config import debug, discord_token in main.py ✨ feat(main.py): add import discord in main.py ✨ feat(main.py): add import src.config in main.py ✨ feat(main.py): add import src.cogs in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add import src.cogs.channelSetup in main.py ✨ feat(main.py): add import src.cogs.help in main.py ✨ feat(main.py): add import src.cogs.Chat in main.py ✨ feat(main.py): add import src.cogs.ManageChat in main.py ✨ feat(main.py): add import src.cogs.Moderation in main.py ✨ feat(main.py): add import src.cogs.ChannelSetup in main.py ✨ feat(main.py): add import src.cogs.Help in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add
2023-08-20 12:42:02 +02:00
async def openaiChat(messages, functions, openai_api_key, model="gpt-3.5-turbo"):
🔧 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
2023-08-19 15:30:57 +02:00
caller = openai_caller()
✨ feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics ✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port 🐛 fix(main.py): remove duplicate cog addition in main.py ✨ feat(main.py): add cogs.Help(bot) to the list of cogs in main.py 🐛 fix(main.py): remove redundant import statements in main.py ✨ feat(main.py): add on_guild_remove event handler in main.py ✨ feat(main.py): add on_guild_join event handler in main.py ✨ feat(main.py): add support for discord.Intents in main.py ✨ feat(main.py): add intents.message_content = True in main.py ✨ feat(main.py): add intents.default() in main.py ✨ feat(main.py): add discord.Bot(intents=intents, help_command=None) in main.py ✨ feat(main.py): add import statements in main.py ✨ feat(main.py): add from src.config import debug, discord_token in main.py ✨ feat(main.py): add import discord in main.py ✨ feat(main.py): add import src.config in main.py ✨ feat(main.py): add import src.cogs in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add import src.cogs.channelSetup in main.py ✨ feat(main.py): add import src.cogs.help in main.py ✨ feat(main.py): add import src.cogs.Chat in main.py ✨ feat(main.py): add import src.cogs.ManageChat in main.py ✨ feat(main.py): add import src.cogs.Moderation in main.py ✨ feat(main.py): add import src.cogs.ChannelSetup in main.py ✨ feat(main.py): add import src.cogs.Help in main.py ✨ feat(main.py): add import src.cogs.chat in main.py ✨ feat(main.py): add import src.cogs.manage_chat in main.py ✨ feat(main.py): add import src.cogs.moderation in main.py ✨ feat(main.py): add
2023-08-20 12:42:02 +02:00
response = await caller.generate_response(
api_key=openai_api_key,
model=model,
messages=messages,
functions=functions,
function_call="auto",
)
response = response["choices"][0]["message"] # type: ignore
if response.get("function_call", False):
function_call = response["function_call"]
return {
"name": function_call["name"],
"arguments": orjson.loads(function_call["arguments"]),
}
else:
return {
"name": "send_message",
"arguments": {"message": response["content"]},
}