diff --git a/letta/agents/letta_agent.py b/letta/agents/letta_agent.py index c48251b5..65478b31 100644 --- a/letta/agents/letta_agent.py +++ b/letta/agents/letta_agent.py @@ -59,7 +59,7 @@ from letta.services.summarizer.enums import SummarizationMode from letta.services.summarizer.summarizer import Summarizer from letta.services.telemetry_manager import NoopTelemetryManager, TelemetryManager from letta.services.tool_executor.tool_execution_manager import ToolExecutionManager -from letta.settings import model_settings, summarizer_settings +from letta.settings import model_settings, settings, summarizer_settings from letta.system import package_function_response from letta.types import JsonDict from letta.utils import log_telemetry, validate_function_response @@ -494,6 +494,8 @@ class LettaAgent(BaseAgent): return current_in_context_messages, new_in_context_messages, stop_reason, usage async def _update_agent_last_run_metrics(self, completion_time: datetime, duration_ms: float) -> None: + if not settings.track_last_agent_run: + return try: await self.agent_manager.update_agent_async( agent_id=self.agent_id, diff --git a/letta/settings.py b/letta/settings.py index 5554951c..4a0983b1 100644 --- a/letta/settings.py +++ b/letta/settings.py @@ -219,8 +219,9 @@ class Settings(BaseSettings): otel_preferred_temporality: Optional[int] = Field( default=1, ge=0, le=2, description="Exported metric temporality. {0: UNSPECIFIED, 1: DELTA, 2: CUMULATIVE}" ) - disable_tracing: bool = False - llm_api_logging: bool = True + disable_tracing: bool = Field(default=False, description="Disable OTEL Tracing") + llm_api_logging: bool = Field(default=True, description="Enable LLM API logging at each step") + track_last_agent_run: bool = Field(default=False, description="Update last agent run metrics") # uvicorn settings uvicorn_workers: int = 1