diff --git a/backend/open_webui/utils/memory.py b/backend/open_webui/utils/memory.py index 5cec5153ff..ca84517c1d 100644 --- a/backend/open_webui/utils/memory.py +++ b/backend/open_webui/utils/memory.py @@ -422,7 +422,7 @@ async def review_memory_after_turn( if not features.get('memory'): return - assistant_content = assistant_message.get('content', '') + assistant_content = get_content_from_message(assistant_message) if not isinstance(assistant_content, str) or not assistant_content.strip(): return @@ -479,9 +479,9 @@ async def _review_memory( for memory in (existing_memories or [])[:80] ] - assistant_content = assistant_message.get('content', '') + assistant_content = get_content_from_message(assistant_message) if not isinstance(assistant_content, str): - assistant_content = get_content_from_message(assistant_message) + assistant_content = '' transcript_lines = [] for message in messages[-16:]: diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 03eb964a48..fe36d78d7b 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -5460,6 +5460,7 @@ async def streaming_chat_response_handler(response, ctx): ) ctx['assistant_message'] = { + 'content': ''.join(content_parts) or get_output_text(output), 'output': output, **({'usage': usage} if usage else {}), }