|
|
from .agent import Agent |
|
|
from ..actions.agent_generation import AgentGeneration |
|
|
from ..prompts.agent_generator import AGENT_GENERATOR |
|
|
|
|
|
|
|
|
class AgentGenerator(Agent): |
|
|
|
|
|
""" |
|
|
An agent responsible for generating agents for a task. |
|
|
""" |
|
|
|
|
|
def __init__(self, **kwargs): |
|
|
|
|
|
name = kwargs.pop("name") if "name" in kwargs else AGENT_GENERATOR["name"] |
|
|
description = kwargs.pop("description") if "description" in kwargs else AGENT_GENERATOR["description"] |
|
|
system_prompt = kwargs.pop("system_prompt") if "system_prompt" in kwargs else AGENT_GENERATOR["system_prompt"] |
|
|
actions = kwargs.pop("actions") if "actions" in kwargs else [AgentGeneration(tools=kwargs.pop("tools", []))] |
|
|
super().__init__(name=name, description=description, system_prompt=system_prompt, actions=actions, **kwargs) |
|
|
|
|
|
@property |
|
|
def agent_generation_action_name(self): |
|
|
return self.get_action_name(action_cls=AgentGeneration) |
|
|
|
|
|
|