framework code has been completed basicly. Through the use of aios_shell, we are now able to get agents run able (at openai compute node)
This commit is contained in:
@@ -1,3 +1 @@
|
||||
from .agent_manager import AgentManager,AgentManagerClient
|
||||
from .agent import ai_agent
|
||||
from .templete import ai_agent_templete
|
||||
from .agent_manager import AgentManager
|
||||
|
||||
@@ -22,13 +22,13 @@ class AgentManager:
|
||||
|
||||
|
||||
def initial(self,root_dir:str) -> None:
|
||||
self.agent_templete_env : PackageEnv = PackageEnvManager().get_env(f"{root_dir}templetes/agent_templetes.cfg")
|
||||
self.agent_templete_env : PackageEnv = PackageEnvManager().get_env(f"{root_dir}templetes/templetes.cfg")
|
||||
self.agent_env : PackageEnv = PackageEnvManager().get_env(f"{root_dir}agents/agents.cfg")
|
||||
if self.agent_templete_env is None:
|
||||
raise Exception("agent_manager initial failed")
|
||||
|
||||
|
||||
def get(self,agent_id:str) -> AIAgent:
|
||||
async def get(self,agent_id:str) -> AIAgent:
|
||||
the_agent = self.loaded_agent_instance.get(agent_id)
|
||||
if the_agent:
|
||||
return the_agent
|
||||
@@ -38,17 +38,17 @@ class AgentManager:
|
||||
if agent_media_info is None:
|
||||
return None
|
||||
|
||||
the_agent : AIAgent = self._load_agent_from_media(agent_media_info)
|
||||
the_agent : AIAgent = await self._load_agent_from_media(agent_media_info)
|
||||
if the_agent is None:
|
||||
logger.warn(f"load agent {agent_id} from media failed!")
|
||||
|
||||
else:
|
||||
the_agent.start()
|
||||
return the_agent
|
||||
|
||||
|
||||
def remove(self,agent_id:str)->int:
|
||||
pass
|
||||
|
||||
def get_templete(self,templete_id) -> AIAgentTemplete:
|
||||
async def get_templete(self,templete_id) -> AIAgentTemplete:
|
||||
template_media_info = self.agent_templete_env.get(templete_id)
|
||||
if template_media_info is None:
|
||||
return None
|
||||
@@ -61,11 +61,33 @@ class AgentManager:
|
||||
def uninstall(self,templete_id) -> int:
|
||||
pass
|
||||
|
||||
def _load_templete_from_media(self,templete_media:PackageMediaInfo) -> AIAgentTemplete:
|
||||
async def _load_templete_from_media(self,templete_media:PackageMediaInfo) -> AIAgentTemplete:
|
||||
pass
|
||||
|
||||
def _load_agent_from_media(self,agent_media:PackageMediaInfo) -> AIAgent:
|
||||
pass
|
||||
async def _load_agent_from_media(self,agent_media:PackageMediaInfo) -> AIAgent:
|
||||
reader = self.agent_env._create_media_loader(agent_media)
|
||||
if reader is None:
|
||||
logger.error(f"create media loader for {agent_media} failed!")
|
||||
return None
|
||||
|
||||
try:
|
||||
config_file = await reader.read("agent.toml","r")
|
||||
if config_file is None:
|
||||
logger.error(f"read agent config from {agent_media} failed!")
|
||||
return None
|
||||
|
||||
config_data = await config_file.read()
|
||||
config = toml.loads(config_data)
|
||||
result_agent = AIAgent()
|
||||
if result_agent.load_from_config(config) is False:
|
||||
logger.error(f"load agent from {agent_media} failed!")
|
||||
return None
|
||||
return result_agent
|
||||
except Exception as e:
|
||||
logger.error(f"read agent.toml cfg from {agent_media} failed! unexpected error occurred: {str(e)}")
|
||||
return None
|
||||
|
||||
|
||||
|
||||
def create(self,template,agent_name,agent_last_name,agent_introduce) -> AIAgent:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user