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) | |