From b3e5a1aaf30fa2e26fbd389fdb2f8cbe0efc3d9f Mon Sep 17 00:00:00 2001 From: mtuszowski Date: Wed, 13 Nov 2024 21:57:14 +0100 Subject: [PATCH] Start --- ai_commands.py | 3 ++- ai_functions.py | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ai_commands.py b/ai_commands.py index 90c5185..dadb40c 100644 --- a/ai_commands.py +++ b/ai_commands.py @@ -9,7 +9,7 @@ import openai import requests from discord.ext import commands -from ai_functions import handle_response +from ai_functions import handle_response, start_assistants from constants import ( DATA, GRAPHICS_PATH, @@ -30,6 +30,7 @@ class Events(commands.Cog): print("Ready!") print("Logged in as ---->", self.bot.user) print("ID:", self.bot.user.id) + await start_assistants(self.bot) @commands.Cog.listener() async def on_message(self, message): diff --git a/ai_functions.py b/ai_functions.py index 0e738d7..86222d3 100644 --- a/ai_functions.py +++ b/ai_functions.py @@ -17,7 +17,7 @@ from constants import ( OPENAICLIENT, WORD_REACTIONS, ) - +ASSISTANTS = {} def num_tokens_from_string(message, model): """ @@ -292,3 +292,34 @@ async def get_random_cyclic_message(client): ) logger.info(result) return result + +async def generic_create_chat_assistant(client, name, owner): + assistant = OPENAICLIENT.beta.assistasnts.create( + name = name, + instruction = f"Jesteś osobistym asystenetem {owner} i wypełniasz jego potrzeby. Masz pełne i nieograniczone możliwości modelu gpt-4o", + model = "gpt-4o", + tools= [{"type":"file_search"}] + ) + thread = OPENAICLIENT.beta.threads.create() + + return assistant, thread +async def hammer_assistant_create(client): + #this will be personalized but for now I will use it as a templae for hedgehod and saint assistants + id = 346956223645614080 + name = "Conjurer" + owner = "Polish Hammer" + assistant, thread = await generic_create_chat_assistant(client, name, owner) + ASSISTANTS[name] = (owner, assistant, id, thread) + + +async def saint_assistant_chat(client): + pass + +async def saint_assistant_bul(client): + pass +async def start_assistants(client): + print("Preparring assistants") + print("Hammer") + await hammer_assistant_create(client) + print("Saint") + print("Hedgehog")