File size: 1,699 Bytes
7042c3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4a6af9d
7042c3c
 
 
 
 
 
 
 
 
 
 
 
 
4a6af9d
7042c3c
 
 
 
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
"""Define the configurable parameters for the TOGAF agent."""

from __future__ import annotations

from dataclasses import dataclass, field
from typing import Annotated

from ea4all.src.shared.configuration import BaseConfiguration

@dataclass(kw_only=True)
class AgentConfiguration(BaseConfiguration):
    """The configuration for the agent."""

    supervisor_model: Annotated[str, {"__template_metadata__": {"kind": "llm"}}] = field(
        default="gpt-4o-mini",
        metadata={
            "description": "The language model used for supervisor agents. Should be in the form: provider/model-name."
        },
    )
    togaf_model: Annotated[str, {"__template_metadata__": {"kind": "llm"}}] = field(
        default="meta-llama/Llama-3.3-70B-Instruct",
        metadata={
            "description": "The language model used for processing and refining queries. Should be in the form: provider/model-name."
        },
    )

    recursion_limit: Annotated[int, {"__template_metadata__": {"kind": "integer"}}] = field(
        default=5,
        metadata={
            "description": "The maximum number of times the agent can recursively call itself."
        },
    )

    dbr_mock: Annotated[str, {"__template_metadata__": {"kind": "dataset"}}] = field(
        default="dbr.txt",
        metadata={
            "description": "The EA4ALL Togal Business Requirement mock content."
        },
    )

    ea4all_ask_human: Annotated[str, {"__template_metadata__": {"kind": "integration"}}] = field(
        default="frontend", #"interrupt", #
        metadata={
            "description": "Trigger EA4ALL ask human input via interruption or receive from external frontend."
        },
    )