Spaces:
Sleeping
Sleeping
from typing import List | |
from args import Args | |
from itf_agent import IAgent | |
from toolbox import Toolbox | |
import datetime | |
class Manager(IAgent): | |
""" | |
Orchestrates the workflow by delegating tasks to specialized nodes and integrating their outputs | |
""" | |
def __init__(self): | |
super().__init__("01_manager.txt", Args.PRIMARY_AGENT_PRESET) | |
class Auditor(IAgent): | |
""" | |
Reviews manager's outputs for accuracy, safety, and quality | |
""" | |
def __init__(self): | |
super().__init__("02_auditor.txt", Args.PRIMARY_AGENT_PRESET) | |
class Summarizer(IAgent): | |
""" | |
Generates concise summaries of conversations or passages. | |
""" | |
def __init__(self): | |
super().__init__("03_summarizer.txt", Args.SECONDARY_AGENT_PRESET) | |
class Solver(IAgent): | |
""" | |
Central problem-solving node that coordinates with specialized experts based on task requirements | |
""" | |
def __init__(self): | |
super().__init__("04_solver.txt", Args.PRIMARY_AGENT_PRESET) | |
class Researcher(IAgent): | |
""" | |
Retrieves and synthesizes information from various sources to answer knowledge-based questions | |
""" | |
def __init__(self): | |
toolbox = Toolbox.web_search | |
tools = [ | |
toolbox.duckduckgo_text_search, | |
toolbox.duckduckgo_images_search, | |
toolbox.duckduckgo_videos_search | |
] | |
super().__init__("05_researcher.txt", Args.PRIMARY_AGENT_PRESET, tools) | |
def query(self, messages: List[str]) -> str: | |
last_message = messages[-1] | |
current_time = datetime.datetime.now().isoformat() | |
messages[-1] = f"Current time: {current_time}\n" + last_message | |
return super().query(messages) | |
class Reasoner(IAgent): | |
""" | |
Performs logical reasoning, inference, and step-by-step problem-solving | |
""" | |
def __init__(self): | |
math_toolbox = Toolbox.math | |
encryption_toolbox = Toolbox.encryption | |
tools = [ | |
math_toolbox.symbolic_calc, | |
math_toolbox.unit_converter, | |
encryption_toolbox.ascii_decode, | |
encryption_toolbox.ascii_encode, | |
encryption_toolbox.base64_decode, | |
encryption_toolbox.base64_encode, | |
encryption_toolbox.caesar_cipher_decode, | |
encryption_toolbox.caesar_cipher_encode, | |
encryption_toolbox.caesar_cipher_brute_force, | |
encryption_toolbox.reverse_string | |
] | |
super().__init__("06_reasoner.txt", Args.PRIMARY_AGENT_PRESET, tools) | |
class HyperReasoner(IAgent): | |
""" | |
Performs logical reasoning, inference, and step-by-step problem-solving | |
""" | |
def __init__(self): | |
super().__init__("07_hyper_reasoner.txt", Args.PRIMARY_AGENT_PRESET) | |
class Viewer(IAgent): | |
""" | |
Processes, analyzes, and generates information related to images | |
""" | |
def __init__(self): | |
super().__init__("08_viewer.txt", Args.VISION_AGENT_PRESET) | |
class OutputGuard(IAgent): | |
""" | |
Performs logical reasoning, inference, and step-by-step problem-solving | |
""" | |
def __init__(self): | |
super().__init__("09_output_guard.txt", Args.SECONDARY_AGENT_PRESET) | |
class FinalAnswer(IAgent): | |
""" | |
Performs logical reasoning, inference, and step-by-step problem-solving | |
""" | |
def __init__(self): | |
super().__init__("10_final_answer.txt", Args.PRIMARY_AGENT_PRESET) | |