fix: agent loop type mismatch (#2924)
This commit is contained in:
@@ -131,7 +131,7 @@ class LettaAgent(BaseAgent):
|
||||
agent_state = await self.agent_manager.get_agent_by_id_async(
|
||||
agent_id=self.agent_id, include_relationships=["tools", "memory", "tool_exec_environment_variables"], actor=self.actor
|
||||
)
|
||||
_, new_in_context_messages, usage, stop_reason = await self._step(
|
||||
_, new_in_context_messages, stop_reason, usage = await self._step(
|
||||
agent_state=agent_state,
|
||||
input_messages=input_messages,
|
||||
max_steps=max_steps,
|
||||
@@ -441,7 +441,7 @@ class LettaAgent(BaseAgent):
|
||||
force=False,
|
||||
)
|
||||
|
||||
return current_in_context_messages, new_in_context_messages, usage, stop_reason
|
||||
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:
|
||||
try:
|
||||
|
||||
@@ -38,6 +38,7 @@ from letta.server.rest_api.utils import (
|
||||
from letta.services.agent_manager import AgentManager
|
||||
from letta.services.block_manager import BlockManager
|
||||
from letta.services.helpers.agent_manager_helper import compile_system_message
|
||||
from letta.services.job_manager import JobManager
|
||||
from letta.services.message_manager import MessageManager
|
||||
from letta.services.passage_manager import PassageManager
|
||||
from letta.services.summarizer.enums import SummarizationMode
|
||||
@@ -64,6 +65,7 @@ class VoiceAgent(BaseAgent):
|
||||
message_manager: MessageManager,
|
||||
agent_manager: AgentManager,
|
||||
block_manager: BlockManager,
|
||||
job_manager: JobManager,
|
||||
passage_manager: PassageManager,
|
||||
actor: User,
|
||||
):
|
||||
@@ -73,6 +75,7 @@ class VoiceAgent(BaseAgent):
|
||||
|
||||
# Summarizer settings
|
||||
self.block_manager = block_manager
|
||||
self.job_manager = job_manager
|
||||
self.passage_manager = passage_manager
|
||||
# TODO: This is not guaranteed to exist!
|
||||
self.summary_block_label = "human"
|
||||
@@ -98,6 +101,7 @@ class VoiceAgent(BaseAgent):
|
||||
agent_manager=self.agent_manager,
|
||||
actor=self.actor,
|
||||
block_manager=self.block_manager,
|
||||
job_manager=self.job_manager,
|
||||
passage_manager=self.passage_manager,
|
||||
target_block_label=self.summary_block_label,
|
||||
),
|
||||
@@ -439,6 +443,7 @@ class VoiceAgent(BaseAgent):
|
||||
message_manager=self.message_manager,
|
||||
agent_manager=self.agent_manager,
|
||||
block_manager=self.block_manager,
|
||||
job_manager=self.job_manager,
|
||||
passage_manager=self.passage_manager,
|
||||
sandbox_env_vars=sandbox_env_vars,
|
||||
actor=self.actor,
|
||||
|
||||
@@ -15,6 +15,7 @@ from letta.schemas.tool_rule import ChildToolRule, ContinueToolRule, InitToolRul
|
||||
from letta.schemas.user import User
|
||||
from letta.services.agent_manager import AgentManager
|
||||
from letta.services.block_manager import BlockManager
|
||||
from letta.services.job_manager import JobManager
|
||||
from letta.services.message_manager import MessageManager
|
||||
from letta.services.passage_manager import PassageManager
|
||||
from letta.services.summarizer.enums import SummarizationMode
|
||||
@@ -34,6 +35,7 @@ class VoiceSleeptimeAgent(LettaAgent):
|
||||
message_manager: MessageManager,
|
||||
agent_manager: AgentManager,
|
||||
block_manager: BlockManager,
|
||||
job_manager: JobManager,
|
||||
passage_manager: PassageManager,
|
||||
target_block_label: str,
|
||||
actor: User,
|
||||
@@ -43,6 +45,7 @@ class VoiceSleeptimeAgent(LettaAgent):
|
||||
message_manager=message_manager,
|
||||
agent_manager=agent_manager,
|
||||
block_manager=block_manager,
|
||||
job_manager=job_manager,
|
||||
passage_manager=passage_manager,
|
||||
actor=actor,
|
||||
)
|
||||
@@ -64,7 +67,9 @@ class VoiceSleeptimeAgent(LettaAgent):
|
||||
self,
|
||||
input_messages: List[MessageCreate],
|
||||
max_steps: int = DEFAULT_MAX_STEPS,
|
||||
run_id: Optional[str] = None,
|
||||
use_assistant_message: bool = True,
|
||||
request_start_timestamp_ns: Optional[int] = None,
|
||||
include_return_message_types: Optional[List[MessageType]] = None,
|
||||
) -> LettaResponse:
|
||||
"""
|
||||
@@ -82,7 +87,7 @@ class VoiceSleeptimeAgent(LettaAgent):
|
||||
]
|
||||
|
||||
# Summarize
|
||||
current_in_context_messages, new_in_context_messages, usage, stop_reason = await super()._step(
|
||||
current_in_context_messages, new_in_context_messages, stop_reason, usage = await super()._step(
|
||||
agent_state=agent_state, input_messages=input_messages, max_steps=max_steps
|
||||
)
|
||||
new_in_context_messages, updated = self.summarizer.summarize(
|
||||
@@ -172,7 +177,12 @@ class VoiceSleeptimeAgent(LettaAgent):
|
||||
return f"Failed to store memory given start_index {start_index} and end_index {end_index}: {e}", False
|
||||
|
||||
async def step_stream(
|
||||
self, input_messages: List[MessageCreate], max_steps: int = DEFAULT_MAX_STEPS, use_assistant_message: bool = True
|
||||
self,
|
||||
input_messages: List[MessageCreate],
|
||||
max_steps: int = DEFAULT_MAX_STEPS,
|
||||
use_assistant_message: bool = True,
|
||||
request_start_timestamp_ns: Optional[int] = None,
|
||||
include_return_message_types: Optional[List[MessageType]] = None,
|
||||
) -> AsyncGenerator[Union[LettaMessage, LegacyLettaMessage, MessageStreamStatus], None]:
|
||||
"""
|
||||
This agent is synchronous-only. If called in an async context, raise an error.
|
||||
|
||||
@@ -53,6 +53,7 @@ async def create_voice_chat_completions(
|
||||
message_manager=server.message_manager,
|
||||
agent_manager=server.agent_manager,
|
||||
block_manager=server.block_manager,
|
||||
job_manager=server.job_manager,
|
||||
passage_manager=server.passage_manager,
|
||||
actor=actor,
|
||||
)
|
||||
|
||||
@@ -26,6 +26,7 @@ from letta.schemas.usage import LettaUsageStatistics
|
||||
from letta.server.server import SyncServer
|
||||
from letta.services.agent_manager import AgentManager
|
||||
from letta.services.block_manager import BlockManager
|
||||
from letta.services.job_manager import JobManager
|
||||
from letta.services.message_manager import MessageManager
|
||||
from letta.services.passage_manager import PassageManager
|
||||
from letta.services.summarizer.enums import SummarizationMode
|
||||
@@ -377,6 +378,7 @@ async def test_summarization(disable_e2b_api_key, voice_agent, server_url):
|
||||
agent_manager=agent_manager,
|
||||
actor=actor,
|
||||
block_manager=BlockManager(),
|
||||
job_manager=JobManager(),
|
||||
passage_manager=PassageManager(),
|
||||
target_block_label="human",
|
||||
)
|
||||
@@ -455,6 +457,7 @@ async def test_voice_sleeptime_agent(disable_e2b_api_key, voice_agent, server_ur
|
||||
agent_manager=agent_manager,
|
||||
actor=actor,
|
||||
block_manager=BlockManager(),
|
||||
job_manager=JobManager(),
|
||||
passage_manager=PassageManager(),
|
||||
target_block_label="human",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user