1515 JupyternautSystemPromptArgs ,
1616)
1717
18+ from .toolkits .code_execution import toolkit as exec_toolkit
19+ from .toolkits .filesystem import toolkit as fs_toolkit
20+ from .toolkits .notebook import toolkit as nb_toolkit
21+
22+
1823MEMORY_STORE_PATH = os .path .join (jupyter_data_dir (), "jupyter_ai" , "memory.sqlite" )
1924
2025
@@ -40,11 +45,23 @@ async def get_memory_store(self):
4045 conn = await aiosqlite .connect (MEMORY_STORE_PATH , check_same_thread = False )
4146 self ._memory_store = AsyncSqliteSaver (conn )
4247 return self ._memory_store
48+
49+ def get_tools (self ):
50+ tools = []
51+ tools += nb_toolkit
52+ tools += fs_toolkit
4353
44- async def _create_agent (self , model_id : str , model_args , system_prompt : str ):
54+ return tools
55+
56+ async def get_agent (self , model_id : str , model_args , system_prompt : str ):
4557 model = ChatLiteLLM (** model_args , model_id = model_id , streaming = True )
4658 memory_store = await self .get_memory_store ()
47- return create_agent (model , system_prompt = system_prompt , checkpointer = memory_store )
59+ return create_agent (
60+ model ,
61+ system_prompt = system_prompt ,
62+ checkpointer = memory_store ,
63+ tools = self .get_tools ()
64+ )
4865
4966 async def process_message (self , message : Message ) -> None :
5067 if not hasattr (self , "config_manager" ):
@@ -62,7 +79,7 @@ async def process_message(self, message: Message) -> None:
6279 model_id = self .config_manager .chat_model
6380 model_args = self .config_manager .chat_model_args
6481 system_prompt = self .get_system_prompt (model_id = model_id , message = message )
65- agent = await self ._create_agent (
82+ agent = await self .get_agent (
6683 model_id = model_id ,
6784 model_args = model_args ,
6885 system_prompt = system_prompt
0 commit comments