fix: Update stored message to give out only the latest message (#4954)
* Update store_message.py update stored message to give out only the latest message * Update store_message.py * Update store_message.py * Update store_message.py update with error handling
This commit is contained in:
parent
4fc7b187c4
commit
5b6bfcafe2
1 changed files with 12 additions and 7 deletions
|
|
@ -46,7 +46,7 @@ class StoreMessageComponent(Component):
|
||||||
]
|
]
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
Output(display_name="Stored Messages", name="stored_messages", method="store_message"),
|
Output(display_name="Stored Message", name="stored_message", method="store_message"),
|
||||||
]
|
]
|
||||||
|
|
||||||
async def store_message(self) -> Message:
|
async def store_message(self) -> Message:
|
||||||
|
|
@ -61,14 +61,19 @@ class StoreMessageComponent(Component):
|
||||||
self.memory.session_id = message.session_id
|
self.memory.session_id = message.session_id
|
||||||
lc_message = message.to_lc_message()
|
lc_message = message.to_lc_message()
|
||||||
await self.memory.aadd_messages([lc_message])
|
await self.memory.aadd_messages([lc_message])
|
||||||
stored = await self.memory.aget_messages()
|
stored_message = await self.memory.aget_messages()
|
||||||
stored = [Message.from_lc_message(m) for m in stored]
|
stored_message = [Message.from_lc_message(m) for m in stored_message]
|
||||||
if message.sender:
|
if message.sender:
|
||||||
stored = [m for m in stored if m.sender == message.sender]
|
stored_message = [m for m in stored_message if m.sender == message.sender]
|
||||||
else:
|
else:
|
||||||
await astore_message(message, flow_id=self.graph.flow_id)
|
await astore_message(message, flow_id=self.graph.flow_id)
|
||||||
stored = await aget_messages(
|
stored_messages = await aget_messages(
|
||||||
session_id=message.session_id, sender_name=message.sender_name, sender=message.sender
|
session_id=message.session_id, sender_name=message.sender_name, sender=message.sender
|
||||||
)
|
)
|
||||||
self.status = stored
|
if not stored_messages:
|
||||||
return stored
|
msg = "No messages were stored. Please ensure that the session ID and sender are properly set."
|
||||||
|
raise ValueError(msg)
|
||||||
|
stored_message = stored_messages[0]
|
||||||
|
|
||||||
|
self.status = stored_message
|
||||||
|
return stored_message
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue