From f79df61acbe2fe27bc968263e89f3e726c0b19c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 10:34:25 +0800 Subject: [PATCH 1/6] feat: add timer for split text --- src/memos/mem_reader/read_multi_modal/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/memos/mem_reader/read_multi_modal/base.py b/src/memos/mem_reader/read_multi_modal/base.py index 1a756c5d0..95d427864 100644 --- a/src/memos/mem_reader/read_multi_modal/base.py +++ b/src/memos/mem_reader/read_multi_modal/base.py @@ -15,6 +15,7 @@ TextualMemoryItem, TreeNodeTextualMemoryMetadata, ) +from memos.utils import timed from .utils import detect_lang, get_text_splitter @@ -245,6 +246,7 @@ def parse( else: raise ValueError(f"Unknown mode: {mode}. Must be 'fast' or 'fine'") + @timed def _split_text(self, text: str, is_markdown: bool = False) -> list[str]: """ Split text into chunks using text splitter from utils. From 36947ae8eab3506349be7d2bd658225da8c9d302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 10:40:33 +0800 Subject: [PATCH 2/6] feat: add chat_handler log --- src/memos/api/handlers/chat_handler.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/memos/api/handlers/chat_handler.py b/src/memos/api/handlers/chat_handler.py index 812cf2793..a35879ff7 100644 --- a/src/memos/api/handlers/chat_handler.py +++ b/src/memos/api/handlers/chat_handler.py @@ -110,6 +110,7 @@ def handle_chat_complete(self, chat_req: APIChatCompleteRequest) -> dict[str, An Raises: HTTPException: If chat fails """ + self.logger.info(f"[ChatHandler] Chat Req is: {chat_req}") try: # Resolve readable cube IDs (for search) readable_cube_ids = chat_req.readable_cube_ids or [chat_req.user_id] @@ -241,6 +242,7 @@ def handle_chat_stream(self, chat_req: ChatRequest) -> StreamingResponse: Raises: HTTPException: If stream initialization fails """ + self.logger.info(f"[ChatHandler] Chat Req is: {chat_req}") try: def generate_chat_response() -> Generator[str, None, None]: @@ -422,6 +424,7 @@ def handle_chat_stream_playground(self, chat_req: ChatPlaygroundRequest) -> Stre Raises: HTTPException: If stream initialization fails """ + self.logger.info(f"[ChatHandler] Chat Req is: {chat_req}") try: def generate_chat_response() -> Generator[str, None, None]: From 9d2d83b26df9617d2b68ac1ee9177750d4edd991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 11:12:15 +0800 Subject: [PATCH 3/6] feat: add chat_handler log --- src/memos/api/product_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/memos/api/product_models.py b/src/memos/api/product_models.py index b2f8a9fa3..b0382a026 100644 --- a/src/memos/api/product_models.py +++ b/src/memos/api/product_models.py @@ -141,7 +141,7 @@ def _convert_deprecated_fields(self): # ---- mem_cube_id backward compatibility ---- if self.mem_cube_id is not None: logger.warning( - "ChatRequest.mem_cube_id is deprecated and will be removed in a future version. " + "ChatRequest.mem_cube_id is deprecated and will be removed in a short future version. " "Please migrate to `readable_cube_ids` / `writable_cube_ids`." ) if not self.readable_cube_ids: From 8e48650a8d97db3a1ec892c48a6523fd6f22dd7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 12:01:13 +0800 Subject: [PATCH 4/6] fix: chat in playgound bug: use index in null list --- src/memos/api/handlers/chat_handler.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/memos/api/handlers/chat_handler.py b/src/memos/api/handlers/chat_handler.py index a35879ff7..8292e027b 100644 --- a/src/memos/api/handlers/chat_handler.py +++ b/src/memos/api/handlers/chat_handler.py @@ -588,6 +588,8 @@ def generate_chat_response() -> Generator[str, None, None]: # get internet reference internet_reference = self._get_internet_reference( search_response.data.get("text_mem")[0]["memories"] + if search_response.data.get("text_mem") + else [] ) yield f"data: {json.dumps({'type': 'reference', 'data': reference}, ensure_ascii=False)}\n\n" From 988c8f89078c65b4541b8aa07c2e579750527e7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 12:02:39 +0800 Subject: [PATCH 5/6] chore: deprecated warning --- src/memos/api/product_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/memos/api/product_models.py b/src/memos/api/product_models.py index b0382a026..b2f8a9fa3 100644 --- a/src/memos/api/product_models.py +++ b/src/memos/api/product_models.py @@ -141,7 +141,7 @@ def _convert_deprecated_fields(self): # ---- mem_cube_id backward compatibility ---- if self.mem_cube_id is not None: logger.warning( - "ChatRequest.mem_cube_id is deprecated and will be removed in a short future version. " + "ChatRequest.mem_cube_id is deprecated and will be removed in a future version. " "Please migrate to `readable_cube_ids` / `writable_cube_ids`." ) if not self.readable_cube_ids: From ae0ee4912c49c041f4da5019bcfff510053a4223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 28 Jan 2026 13:01:57 +0800 Subject: [PATCH 6/6] fix: we don't use query when search in graph-db --- src/memos/mem_reader/multi_modal_struct.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/memos/mem_reader/multi_modal_struct.py b/src/memos/mem_reader/multi_modal_struct.py index 9edcd0a55..d61b20d0f 100644 --- a/src/memos/mem_reader/multi_modal_struct.py +++ b/src/memos/mem_reader/multi_modal_struct.py @@ -464,13 +464,6 @@ def _get_maybe_merged_memory( status="activated", threshold=merge_threshold, user_name=user_name, - filter={ - "or": [ - {"memory_type": "LongTermMemory"}, - {"memory_type": "UserMemory"}, - {"memory_type": "WorkingMemory"}, - ] - }, ) if not search_results: