mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-03 02:11:48 +00:00
27 lines
767 B
Python
27 lines
767 B
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from .base import ToolBackend
|
|
from .modal_backend import ModalSandboxConfig, ModalToolBackend
|
|
from .nomad_backend import NomadBackendConfig, NomadToolBackend
|
|
|
|
|
|
def create_tool_backend(cfg: Any) -> ToolBackend:
|
|
mode = str(getattr(cfg, "tool_pool_mode", "nomad")).strip().lower()
|
|
if mode == "nomad":
|
|
return NomadToolBackend(NomadBackendConfig.from_agent_env_config(cfg))
|
|
if mode == "modal":
|
|
return ModalToolBackend(ModalSandboxConfig.from_agent_env_config(cfg))
|
|
raise ValueError(f"Unknown tool_pool_mode: {mode}")
|
|
|
|
|
|
__all__ = [
|
|
"ToolBackend",
|
|
"create_tool_backend",
|
|
"NomadBackendConfig",
|
|
"NomadToolBackend",
|
|
"ModalSandboxConfig",
|
|
"ModalToolBackend",
|
|
]
|
|
|