saisha09 commited on
Commit
5d97677
·
1 Parent(s): a5ec5ae

removed base_model from required fields and added choose_best_model

Browse files
Files changed (1) hide show
  1. default_tools/agent_creater_tool.py +13 -2
default_tools/agent_creater_tool.py CHANGED
@@ -1,4 +1,6 @@
1
  from src.agent_manager import AgentManager
 
 
2
  __all__ = ['AgentCreator']
3
 
4
  class AgentCreator():
@@ -29,7 +31,8 @@ class AgentCreator():
29
  "description": "Description of the agent. This is a string that describes the agent and its capabilities. It should be a single line description.",
30
  },
31
  },
32
- "required": ["agent_name", "base_model", "system_prompt", "description"],
 
33
  },
34
  "creates": {
35
  "selector": "base_model",
@@ -107,10 +110,18 @@ class AgentCreator():
107
  def run(self, **kwargs):
108
  print("Running Agent Creator")
109
  agent_name = kwargs.get("agent_name")
110
- base_model = kwargs.get("base_model")
 
 
 
 
 
111
  system_prompt = kwargs.get("system_prompt")
112
  description = kwargs.get("description")
113
  create_cost = self.inputSchema["creates"]["types"][base_model]["create_cost"]
 
 
 
114
  invoke_cost = self.inputSchema["creates"]["types"][base_model]["invoke_cost"]
115
 
116
  agent_manager = AgentManager()
 
1
  from src.agent_manager import AgentManager
2
+ from src.config.model_selector import choose_best_model
3
+ from src.utils.runtime_selector import detect_runtime_environment
4
  __all__ = ['AgentCreator']
5
 
6
  class AgentCreator():
 
31
  "description": "Description of the agent. This is a string that describes the agent and its capabilities. It should be a single line description.",
32
  },
33
  },
34
+ "required": ["agent_name", "system_prompt", "description"],
35
+ #"required": ["agent_name", "base_model", "system_prompt", "description"],
36
  },
37
  "creates": {
38
  "selector": "base_model",
 
110
  def run(self, **kwargs):
111
  print("Running Agent Creator")
112
  agent_name = kwargs.get("agent_name")
113
+ #base_model = kwargs.get("base_model")
114
+ base_model = kwargs.get("base_model") or choose_best_model()
115
+ env = detect_runtime_environment()
116
+ print(f"\n[DEBUG] Detected Runtime Environment: {env}")
117
+ print(f"[DEBUG] Selected Model: {base_model}")
118
+
119
  system_prompt = kwargs.get("system_prompt")
120
  description = kwargs.get("description")
121
  create_cost = self.inputSchema["creates"]["types"][base_model]["create_cost"]
122
+ if base_model not in self.inputSchema["creates"]["types"]:
123
+ print(f"[WARN] Auto-selected model '{base_model}' not in schema. Falling back to gemini-2.0-flash")
124
+ base_model = "gemini-2.0-flash"
125
  invoke_cost = self.inputSchema["creates"]["types"][base_model]["invoke_cost"]
126
 
127
  agent_manager = AgentManager()