2024-10-17 19:44:10 +08:00
import asyncio
2024-10-23 09:42:38 +08:00
from typing import Dict , Any
2024-10-17 19:44:10 +08:00
from agentpress . thread_manager import ThreadManager
from tools . files_tool import FilesTool
2024-10-10 22:21:39 +08:00
2024-10-23 09:42:38 +08:00
async def run_agent (
thread_manager : ThreadManager ,
thread_id : int ,
max_iterations : int = 10
) :
2024-10-17 04:08:46 +08:00
2024-10-23 09:42:38 +08:00
async def init ( ) :
pass
async def pre_iteration ( ) :
pass
async def after_iteration ( ) :
await thread_manager . add_message ( thread_id , { " role " : " user " , " content " : " CREATE MORE RANDOM FILES WITH RANDOM CONTENTS. JSUT CREATE IT – NO QUESTINS PLEASE. ' " } )
pass
async def finalizer ( ) :
pass
await init ( )
iteration = 0
while iteration < max_iterations :
iteration + = 1
await pre_iteration ( )
system_message = { " role " : " system " , " content " : " You are a helpful assistant that can create, read, update, and delete files. " }
model_name = " gpt-4o "
response = await thread_manager . run_thread (
thread_id = thread_id ,
system_message = system_message ,
model_name = model_name ,
temperature = 0.7 ,
max_tokens = 150 ,
tool_choice = " auto " ,
additional_message = None ,
execute_tools_async = False ,
execute_model_tool_calls = True
)
await after_iteration ( )
await finalizer ( )
2024-10-17 19:44:10 +08:00
2024-10-17 04:08:46 +08:00
if __name__ == " __main__ " :
2024-10-23 09:42:38 +08:00
async def main ( ) :
thread_manager = ThreadManager ( )
thread_id = await thread_manager . create_thread ( )
await thread_manager . add_message ( thread_id , { " role " : " user " , " content " : " Please create a file with a random name with the content ' Hello, world! ' " } )
thread_manager . add_tool ( FilesTool )
await run_agent (
thread_manager = thread_manager ,
thread_id = thread_id ,
max_iterations = 5
)
asyncio . run ( main ( ) )