Added iteration_logger

This commit is contained in:
Niels Geens
2024-11-19 20:24:21 +01:00
parent ef94d0d1a0
commit 03cf69d272
44 changed files with 9957 additions and 13 deletions

View File

@@ -5,6 +5,7 @@ from typing import Callable, List, Optional
from .base_agent import BaseAgent
from .command import Command
from .command_result import CommandResult
from .iteration_logger import IterationLogger
from .llm_engine import LlmEngine
from .response_parser import ResponseParser
from .system_metrics import SystemMetrics
@@ -41,7 +42,8 @@ class WebAgent(BaseAgent):
metrics: SystemMetrics,
llm: LlmEngine,
validator: XMLValidator,
parser: ResponseParser
parser: ResponseParser,
iteration_logger: IterationLogger,
):
"""
Initialize web agent with required components.
@@ -63,6 +65,7 @@ class WebAgent(BaseAgent):
self._command_result: Optional[CommandResult] = None
self._context = self._compile_context()
self._state_lock = Lock()
self._iteration_logger = iteration_logger
@property
def state(self) -> WebAgentState:
@@ -166,6 +169,7 @@ class WebAgent(BaseAgent):
print()
def _approve_response_thread(self) -> None:
self._iteration_logger.log_iteration(self._context, self._response)
parse_result = self._parser.parse(self._response)
if isinstance(parse_result, Command):
result = parse_result.execute(self._working_memory)