File size: 2,635 Bytes
910ae58
 
4fb4269
 
 
910ae58
 
 
 
4fb4269
f49023b
910ae58
 
 
 
 
 
4fb4269
f49023b
910ae58
 
 
 
 
 
4fb4269
f49023b
910ae58
 
 
 
 
 
4fb4269
f49023b
910ae58
 
 
 
 
 
4fb4269
 
 
 
 
 
 
f49023b
910ae58
 
4fb4269
910ae58
4fb4269
910ae58
4fb4269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f49023b
4fb4269
 
98ada6c
910ae58
 
 
4fb4269
f49023b
910ae58
 
98ada6c
910ae58
98ada6c
910ae58
4fb4269
f49023b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
from args import Args
from itf_agent import IAgent
from toolbox import Toolbox


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


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 Viewer(IAgent):
    """
    Processes, analyzes, and generates information related to images
    """
    def __init__(self):
        super().__init__("07_viewer.txt", Args.VISION_AGENT_PRESET)


class OutputGuard(IAgent):
    """
    Performs logical reasoning, inference, and step-by-step problem-solving
    """
    def __init__(self):
        super().__init__("08_output_guard.txt", Args.SECONDARY_AGENT_PRESET)