fix: agent support not use memory message (n_messages==0) (#7800)
* Update py_autofix.yml * feat: handle case when n_messages is zero in MemoryComponent * agent memory support n_message zero * Revert "Update py_autofix.yml" This reverts commit 7aed45e98602f57c2d6d33532080bad30cf02507. * fix: cast stored messages to Data type in retrieve_messages method --------- Co-authored-by: tianzhipeng <tzpabc@gmail.com>
This commit is contained in:
parent
1a4adaceb8
commit
97061baa6a
2 changed files with 8 additions and 4 deletions
|
|
@ -117,7 +117,7 @@ class AgentComponent(ToolCallingAgentComponent):
|
||||||
component_input.name: getattr(self, f"{component_input.name}") for component_input in self.memory_inputs
|
component_input.name: getattr(self, f"{component_input.name}") for component_input in self.memory_inputs
|
||||||
}
|
}
|
||||||
# filter out empty values
|
# filter out empty values
|
||||||
memory_kwargs = {k: v for k, v in memory_kwargs.items() if v}
|
memory_kwargs = {k: v for k, v in memory_kwargs.items() if v is not None}
|
||||||
|
|
||||||
return await MemoryComponent(**self.get_base_args()).set(**memory_kwargs).retrieve_messages()
|
return await MemoryComponent(**self.get_base_args()).set(**memory_kwargs).retrieve_messages()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from langflow.custom import Component
|
from langflow.custom import Component
|
||||||
from langflow.helpers.data import data_to_text
|
from langflow.helpers.data import data_to_text
|
||||||
from langflow.inputs import HandleInput
|
from langflow.inputs import HandleInput
|
||||||
|
|
@ -88,8 +90,10 @@ class MemoryComponent(Component):
|
||||||
memory_name = type(self.memory).__name__
|
memory_name = type(self.memory).__name__
|
||||||
err_msg = f"External Memory object ({memory_name}) must have 'aget_messages' method."
|
err_msg = f"External Memory object ({memory_name}) must have 'aget_messages' method."
|
||||||
raise AttributeError(err_msg)
|
raise AttributeError(err_msg)
|
||||||
|
# Check if n_messages is None or 0
|
||||||
if self.memory:
|
if n_messages == 0:
|
||||||
|
stored = []
|
||||||
|
elif self.memory:
|
||||||
# override session_id
|
# override session_id
|
||||||
self.memory.session_id = session_id
|
self.memory.session_id = session_id
|
||||||
|
|
||||||
|
|
@ -112,7 +116,7 @@ class MemoryComponent(Component):
|
||||||
order=order,
|
order=order,
|
||||||
)
|
)
|
||||||
self.status = stored
|
self.status = stored
|
||||||
return stored
|
return cast(Data, stored)
|
||||||
|
|
||||||
async def retrieve_messages_as_text(self) -> Message:
|
async def retrieve_messages_as_text(self) -> Message:
|
||||||
stored_text = data_to_text(self.template, await self.retrieve_messages())
|
stored_text = data_to_text(self.template, await self.retrieve_messages())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue