From 42ce1200f1124f43a24d557a1fb879588b330f30 Mon Sep 17 00:00:00 2001 From: qcampbel Date: Wed, 24 Jan 2024 14:35:45 -0500 Subject: [PATCH 1/2] make curriculum optional (temp) --- mdagent/mainagent/agent.py | 2 ++ mdagent/subagents/subagent_setup.py | 2 ++ mdagent/tools/maketools.py | 6 ++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mdagent/mainagent/agent.py b/mdagent/mainagent/agent.py index 6f8d7f3b..c110938c 100644 --- a/mdagent/mainagent/agent.py +++ b/mdagent/mainagent/agent.py @@ -47,6 +47,7 @@ def __init__( resume=False, top_k_tools=20, # set "all" if you want to use all tools (& skills if resume) use_human_tool=False, + curriculum=False, ): if path_registry is None: path_registry = PathRegistry.get_instance() @@ -78,6 +79,7 @@ def __init__( verbose=verbose, ckpt_dir=ckpt_dir, resume=resume, + curriculum=curriculum, ) def _initialize_tools_and_agent(self, user_input=None): diff --git a/mdagent/subagents/subagent_setup.py b/mdagent/subagents/subagent_setup.py index 1da9ebeb..dcf10736 100644 --- a/mdagent/subagents/subagent_setup.py +++ b/mdagent/subagents/subagent_setup.py @@ -15,6 +15,7 @@ def __init__( ckpt_dir="ckpt", resume=False, retrieval_top_k=5, + curriculum=False, ): self.path_registry = path_registry self.subagents_model = subagents_model @@ -24,6 +25,7 @@ def __init__( self.ckpt_dir = ckpt_dir self.resume = resume self.retrieval_top_k = retrieval_top_k + self.curriculum = curriculum class SubAgentInitializer: diff --git a/mdagent/tools/maketools.py b/mdagent/tools/maketools.py index 17daab31..c4dd4364 100644 --- a/mdagent/tools/maketools.py +++ b/mdagent/tools/maketools.py @@ -98,8 +98,9 @@ def make_all_tools( CreateNewTool(subagent_settings=subagent_settings), RetryExecuteSkill(subagent_settings=subagent_settings), SkillRetrieval(subagent_settings=subagent_settings), - WorkflowPlan(subagent_settings=subagent_settings), ] + if subagent_settings.curriculum: + subagents_tools.append(WorkflowPlan(subagent_settings=subagent_settings)) # add 'learned' tools here # disclaimer: assume they don't need path_registry @@ -139,8 +140,9 @@ def get_tools( CreateNewTool(subagent_settings=subagent_settings), RetryExecuteSkill(subagent_settings=subagent_settings), SkillRetrieval(subagent_settings=subagent_settings), - WorkflowPlan(subagent_settings=subagent_settings), ] + if subagent_settings.curriculum: + retrieved_tools.append(WorkflowPlan(subagent_settings=subagent_settings)) top_k_tools -= len(retrieved_tools) all_tools = make_all_tools( llm, subagent_settings, skip_subagents=True, human=human From 7397596927fdd9e304be6d0a90ca28b07e7dca41 Mon Sep 17 00:00:00 2001 From: qcampbel Date: Wed, 24 Jan 2024 14:43:16 -0500 Subject: [PATCH 2/2] minor bug fix --- mdagent/tools/maketools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mdagent/tools/maketools.py b/mdagent/tools/maketools.py index c4dd4364..2c129f2c 100644 --- a/mdagent/tools/maketools.py +++ b/mdagent/tools/maketools.py @@ -141,7 +141,7 @@ def get_tools( RetryExecuteSkill(subagent_settings=subagent_settings), SkillRetrieval(subagent_settings=subagent_settings), ] - if subagent_settings.curriculum: + if subagent_settings is not None and subagent_settings.curriculum: retrieved_tools.append(WorkflowPlan(subagent_settings=subagent_settings)) top_k_tools -= len(retrieved_tools) all_tools = make_all_tools(