Skip to content

AgentConfig

ToolkitConfig

Bases: ConfigBaseModel

Toolkit config.

Source code in utu/config/agent_config.py
18
19
20
21
22
23
24
25
26
27
28
class ToolkitConfig(ConfigBaseModel):
    """Toolkit config."""

    mode: Literal["builtin", "mcp"] = "builtin"
    name: str | None = None
    activated_tools: list[str] | None = None
    """Activated tools, if None, all tools will be activated."""
    config: dict | None = Field(default_factory=dict)
    """Toolkit config."""
    config_llm: ModelConfigs | None = None
    """LLM config if used in toolkit."""

activated_tools class-attribute instance-attribute

activated_tools: list[str] | None = None

Activated tools, if None, all tools will be activated.

config class-attribute instance-attribute

config: dict | None = Field(default_factory=dict)

Toolkit config.

config_llm class-attribute instance-attribute

config_llm: ModelConfigs | None = None

LLM config if used in toolkit.

AgentConfig

Bases: ConfigBaseModel

Overall agent config

Source code in utu/config/agent_config.py
 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
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
class AgentConfig(ConfigBaseModel):
    """Overall agent config"""

    type: Literal["simple", "orchestra", "workforce"] = "simple"
    """Agent type, "simple" or "orchestra". """

    # simple agent config
    model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Model config, with model_provider, model_settings, model_params"""
    agent: ProfileConfig = Field(default_factory=ProfileConfig)
    """Agent profile config"""
    context_manager: ContextManagerConfig = Field(default_factory=ContextManagerConfig)
    """Context manager config"""
    env: EnvConfig = Field(default_factory=EnvConfig)
    """Env config"""
    toolkits: dict[str, ToolkitConfig] = Field(default_factory=dict)
    """Toolkits config"""
    max_turns: int = 20
    """Max turns"""

    # orchestra agent config
    planner_model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Planner model config"""
    planner_config: dict = Field(default_factory=dict)
    """Planner config (dict)\n
    - `examples_path`: path to planner examples json file"""
    workers: dict[str, "AgentConfig"] = Field(default_factory=dict)
    """Workers config"""
    workers_info: list[dict] = Field(default_factory=list)
    """Workers info, list of {name, desc, strengths, weaknesses}\n
    - `name`: worker name
    - `desc`: worker description
    - `strengths`: worker strengths
    - `weaknesses`: worker weaknesses"""
    reporter_model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Reporter model config"""
    reporter_config: dict = Field(default_factory=dict)
    """Reporter config (dict)\n
    - `template_path`: template Jinja2 file path, with `question` and `trajectory` variables"""

    # workforce agent config
    workforce_planner_model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Workforce planner model config"""
    workforce_planner_config: dict = Field(default_factory=dict)
    """Workforce planner config (dict)"""
    workforce_assigner_model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Workforce assigner model config"""
    workforce_assigner_config: dict = Field(default_factory=dict)
    """Workforce assigner config (dict)"""
    workforce_answerer_model: ModelConfigs = Field(default_factory=ModelConfigs)
    """Workforce answerer model config"""
    workforce_answerer_config: dict = Field(default_factory=dict)
    """Workforce answerer config (dict)"""
    workforce_executor_agents: dict[str, "AgentConfig"] = Field(default_factory=dict)
    """Workforce executor agents config"""
    workforce_executor_config: dict = Field(default_factory=dict)
    """Workforce executor config (dict)"""
    workforce_executor_infos: list[dict] = Field(default_factory=list)
    """Workforce executor infos, list of {name, desc, strengths, weaknesses}"""

    # frontend server config
    frontend_ip: str = EnvUtils.get_env("FRONTEND_IP", "127.0.0.1")
    """Frontend server ip address"""
    frontend_port: int = EnvUtils.get_env("FRONTEND_PORT", 8848)
    """Frontend server port"""

type class-attribute instance-attribute

type: Literal["simple", "orchestra", "workforce"] = "simple"

Agent type, "simple" or "orchestra".

model class-attribute instance-attribute

model: ModelConfigs = Field(default_factory=ModelConfigs)

Model config, with model_provider, model_settings, model_params

agent class-attribute instance-attribute

agent: ProfileConfig = Field(default_factory=ProfileConfig)

Agent profile config

context_manager class-attribute instance-attribute

context_manager: ContextManagerConfig = Field(
    default_factory=ContextManagerConfig
)

Context manager config

env class-attribute instance-attribute

env: EnvConfig = Field(default_factory=EnvConfig)

Env config

toolkits class-attribute instance-attribute

toolkits: dict[str, ToolkitConfig] = Field(
    default_factory=dict
)

Toolkits config

max_turns class-attribute instance-attribute

max_turns: int = 20

Max turns

planner_model class-attribute instance-attribute

planner_model: ModelConfigs = Field(
    default_factory=ModelConfigs
)

Planner model config

planner_config class-attribute instance-attribute

planner_config: dict = Field(default_factory=dict)

Planner config (dict)

  • examples_path: path to planner examples json file

workers class-attribute instance-attribute

workers: dict[str, AgentConfig] = Field(
    default_factory=dict
)

Workers config

workers_info class-attribute instance-attribute

workers_info: list[dict] = Field(default_factory=list)

Workers info, list of {name, desc, strengths, weaknesses}

  • name: worker name
  • desc: worker description
  • strengths: worker strengths
  • weaknesses: worker weaknesses

reporter_model class-attribute instance-attribute

reporter_model: ModelConfigs = Field(
    default_factory=ModelConfigs
)

Reporter model config

reporter_config class-attribute instance-attribute

reporter_config: dict = Field(default_factory=dict)

Reporter config (dict)

  • template_path: template Jinja2 file path, with question and trajectory variables

workforce_planner_model class-attribute instance-attribute

workforce_planner_model: ModelConfigs = Field(
    default_factory=ModelConfigs
)

Workforce planner model config

workforce_planner_config class-attribute instance-attribute

workforce_planner_config: dict = Field(default_factory=dict)

Workforce planner config (dict)

workforce_assigner_model class-attribute instance-attribute

workforce_assigner_model: ModelConfigs = Field(
    default_factory=ModelConfigs
)

Workforce assigner model config

workforce_assigner_config class-attribute instance-attribute

workforce_assigner_config: dict = Field(
    default_factory=dict
)

Workforce assigner config (dict)

workforce_answerer_model class-attribute instance-attribute

workforce_answerer_model: ModelConfigs = Field(
    default_factory=ModelConfigs
)

Workforce answerer model config

workforce_answerer_config class-attribute instance-attribute

workforce_answerer_config: dict = Field(
    default_factory=dict
)

Workforce answerer config (dict)

workforce_executor_agents class-attribute instance-attribute

workforce_executor_agents: dict[str, AgentConfig] = Field(
    default_factory=dict
)

Workforce executor agents config

workforce_executor_config class-attribute instance-attribute

workforce_executor_config: dict = Field(
    default_factory=dict
)

Workforce executor config (dict)

workforce_executor_infos class-attribute instance-attribute

workforce_executor_infos: list[dict] = Field(
    default_factory=list
)

Workforce executor infos, list of {name, desc, strengths, weaknesses}

frontend_ip class-attribute instance-attribute

frontend_ip: str = get_env('FRONTEND_IP', '127.0.0.1')

Frontend server ip address

frontend_port class-attribute instance-attribute

frontend_port: int = get_env('FRONTEND_PORT', 8848)

Frontend server port