99from pydantic import BaseModel , Field
1010
1111from fedotllm .agents .base import Agent , FedotLLMAgentState
12+ from fedotllm .configs .schema import AppConfig
1213from fedotllm .llm import AIInference
1314from fedotllm .prompts .supervisor import choose_next_prompt
1415
@@ -26,11 +27,11 @@ class SupervisorState(FedotLLMAgentState):
2627class SupervisorAgent (Agent ):
2728 def __init__ (
2829 self ,
29- inference : AIInference ,
30+ config : AppConfig ,
3031 automl_agent : Runnable ,
3132 researcher_agent : Runnable ,
3233 ):
33- self .inference = inference
34+ self .inference = AIInference ( config . llm , config . session_id )
3435 self .researcher_agent = researcher_agent
3536 self .automl_agent = automl_agent
3637
@@ -50,7 +51,7 @@ def finish_execution(state: SupervisorState):
5051 workflow .add_edge ("researcher" , "choose_next" )
5152 workflow .add_edge ("automl" , "finish" )
5253 workflow .add_edge ("finish" , END )
53- return workflow .compile ().with_config (config = { " run_name" : " SupervisorAgent" } )
54+ return workflow .compile ().with_config (run_name = SupervisorAgent )
5455
5556
5657class ChooseNext (BaseModel ):
@@ -72,6 +73,7 @@ def router_node(
7273 """
7374
7475 messages = convert_to_openai_messages (state ["messages" ])
76+ messages = [messages ] if isinstance (messages , dict ) else messages
7577 messages .append ({"role" : "user" , "content" : choose_next_prompt ()})
7678
7779 response = inference .query (messages )
0 commit comments