diff --git a/src/memos/graph_dbs/polardb.py b/src/memos/graph_dbs/polardb.py index abfae7710..856f94f2a 100644 --- a/src/memos/graph_dbs/polardb.py +++ b/src/memos/graph_dbs/polardb.py @@ -899,13 +899,7 @@ def get_node( logger.info( f" polardb [get_node] get_node completed time in {elapsed_time:.2f}s" ) - return self._parse_node( - { - "id": id, - "memory": properties.get("memory", ""), - **properties, - } - ) + return self._parse_node(properties) return None except Exception as e: @@ -976,15 +970,7 @@ def get_nodes(self, ids: list[str], user_name: str, **kwargs) -> list[dict[str, properties["embedding"] = embedding except (json.JSONDecodeError, TypeError): logger.warning(f"Failed to parse embedding for node {node_id}") - nodes.append( - self._parse_node( - { - "id": properties.get("id", node_id), - "memory": properties.get("memory", ""), - "metadata": properties, - } - ) - ) + nodes.append(self._parse_node(properties)) return nodes @timed @@ -1534,7 +1520,7 @@ def search_by_keywords_like( user_name_conditions = self._build_user_name_and_kb_ids_conditions_sql( user_name=user_name, knowledgebase_ids=knowledgebase_ids, - default_user_name=self.config.user_name, + default_user_name=self._get_config_value("user_name"), ) # Add OR condition if we have any user_name conditions @@ -1633,7 +1619,7 @@ def search_by_keywords_tfidf( user_name_conditions = self._build_user_name_and_kb_ids_conditions_sql( user_name=user_name, knowledgebase_ids=knowledgebase_ids, - default_user_name=self.config.user_name, + default_user_name=self._get_config_value("user_name"), ) # Add OR condition if we have any user_name conditions @@ -1751,7 +1737,7 @@ def search_by_fulltext( user_name_conditions = self._build_user_name_and_kb_ids_conditions_sql( user_name=user_name, knowledgebase_ids=knowledgebase_ids, - default_user_name=self.config.user_name, + default_user_name=self._get_config_value("user_name"), ) if user_name_conditions: @@ -1873,7 +1859,7 @@ def search_by_embedding( user_name_conditions = self._build_user_name_and_kb_ids_conditions_sql( user_name=user_name, knowledgebase_ids=knowledgebase_ids, - default_user_name=self.config.user_name, + default_user_name=self._get_config_value("user_name"), ) if user_name_conditions: diff --git a/src/memos/mem_reader/multi_modal_struct.py b/src/memos/mem_reader/multi_modal_struct.py index 092f29ac6..2fd56d6b8 100644 --- a/src/memos/mem_reader/multi_modal_struct.py +++ b/src/memos/mem_reader/multi_modal_struct.py @@ -102,8 +102,9 @@ def _split_large_memory_item( split_items = [] def _create_chunk_item(chunk): - # Chunk objects have a 'text' attribute - chunk_text = chunk.text + # Different chunkers are not fully consistent: + # some return Chunk-like objects with `.text`, while others return raw strings. + chunk_text = chunk.text if hasattr(chunk, "text") else chunk if not chunk_text or not chunk_text.strip(): return None # Create a new memory item for each chunk, preserving original metadata