From 99419fe3d8d9b1182bdf3894b74fead6f4d27a5c Mon Sep 17 00:00:00 2001 From: fridayL Date: Thu, 6 Nov 2025 14:24:53 +0800 Subject: [PATCH 1/2] fix:get_grouped_counts --- src/memos/api/config.py | 12 ++++++------ src/memos/graph_dbs/polardb.py | 7 +++---- .../textual/tree_text_memory/organize/manager.py | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/memos/api/config.py b/src/memos/api/config.py index 7f61d54ac..e55d8c4ac 100644 --- a/src/memos/api/config.py +++ b/src/memos/api/config.py @@ -861,9 +861,9 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General "reorganize": os.getenv("MOS_ENABLE_REORGANIZE", "false").lower() == "true", "memory_size": { - "WorkingMemory": os.getenv("NEBULAR_WORKING_MEMORY", 20), - "LongTermMemory": os.getenv("NEBULAR_LONGTERM_MEMORY", 1e6), - "UserMemory": os.getenv("NEBULAR_USER_MEMORY", 1e6), + "WorkingMemory": int(os.getenv("NEBULAR_WORKING_MEMORY", 20)), + "LongTermMemory": int(os.getenv("NEBULAR_LONGTERM_MEMORY", 1e6)), + "UserMemory": int(os.getenv("NEBULAR_USER_MEMORY", 1e6)), }, "search_strategy": { "fast_graph": bool(os.getenv("FAST_GRAPH", "false") == "true"), @@ -933,9 +933,9 @@ def get_default_cube_config() -> GeneralMemCubeConfig | None: == "true", "internet_retriever": internet_config, "memory_size": { - "WorkingMemory": os.getenv("NEBULAR_WORKING_MEMORY", 20), - "LongTermMemory": os.getenv("NEBULAR_LONGTERM_MEMORY", 1e6), - "UserMemory": os.getenv("NEBULAR_USER_MEMORY", 1e6), + "WorkingMemory": int(os.getenv("NEBULAR_WORKING_MEMORY", 20)), + "LongTermMemory": int(os.getenv("NEBULAR_LONGTERM_MEMORY", 1e6)), + "UserMemory": int(os.getenv("NEBULAR_USER_MEMORY", 1e6)), }, "search_strategy": { "fast_graph": bool(os.getenv("FAST_GRAPH", "false") == "true"), diff --git a/src/memos/graph_dbs/polardb.py b/src/memos/graph_dbs/polardb.py index 5d34ff03f..6c2685b00 100644 --- a/src/memos/graph_dbs/polardb.py +++ b/src/memos/graph_dbs/polardb.py @@ -1740,9 +1740,9 @@ def get_grouped_counts( for field in group_fields: alias = field.replace(".", "_") return_fields.append( - f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype) AS {alias}" + f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype)::text AS {alias}" ) - group_by_fields.append(alias) + group_by_fields.append(f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype)::text") # Full SQL query construction query = f""" @@ -1751,7 +1751,6 @@ def get_grouped_counts( {where_clause} GROUP BY {", ".join(group_by_fields)} """ - conn = self._get_connection() try: with conn.cursor() as cursor: @@ -1772,7 +1771,7 @@ def get_grouped_counts( else: group_values[field] = str(value) count_value = row[-1] # Last column is count - output.append({**group_values, "count": count_value}) + output.append({**group_values, "count": int(count_value)}) return output diff --git a/src/memos/memories/textual/tree_text_memory/organize/manager.py b/src/memos/memories/textual/tree_text_memory/organize/manager.py index 01ccc382b..4ad9309b0 100644 --- a/src/memos/memories/textual/tree_text_memory/organize/manager.py +++ b/src/memos/memories/textual/tree_text_memory/organize/manager.py @@ -156,7 +156,7 @@ def _refresh_memory_size(self, user_name: str | None = None) -> None: results = self.graph_store.get_grouped_counts( group_fields=["memory_type"], user_name=user_name ) - self.current_memory_size = {record["memory_type"]: record["count"] for record in results} + self.current_memory_size = {record["memory_type"]: int(record["count"]) for record in results} logger.info(f"[MemoryManager] Refreshed memory sizes: {self.current_memory_size}") def _process_memory(self, memory: TextualMemoryItem, user_name: str | None = None): From 1bf3e2fcfb3e9f5d6bd72484cabad28c849a22f9 Mon Sep 17 00:00:00 2001 From: fridayL Date: Thu, 6 Nov 2025 14:41:01 +0800 Subject: [PATCH 2/2] fix: code format --- src/memos/graph_dbs/polardb.py | 4 +++- .../memories/textual/tree_text_memory/organize/manager.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/memos/graph_dbs/polardb.py b/src/memos/graph_dbs/polardb.py index 6c2685b00..60902420f 100644 --- a/src/memos/graph_dbs/polardb.py +++ b/src/memos/graph_dbs/polardb.py @@ -1742,7 +1742,9 @@ def get_grouped_counts( return_fields.append( f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype)::text AS {alias}" ) - group_by_fields.append(f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype)::text") + group_by_fields.append( + f"ag_catalog.agtype_access_operator(properties, '\"{field}\"'::agtype)::text" + ) # Full SQL query construction query = f""" diff --git a/src/memos/memories/textual/tree_text_memory/organize/manager.py b/src/memos/memories/textual/tree_text_memory/organize/manager.py index 4ad9309b0..0c41717ea 100644 --- a/src/memos/memories/textual/tree_text_memory/organize/manager.py +++ b/src/memos/memories/textual/tree_text_memory/organize/manager.py @@ -156,7 +156,9 @@ def _refresh_memory_size(self, user_name: str | None = None) -> None: results = self.graph_store.get_grouped_counts( group_fields=["memory_type"], user_name=user_name ) - self.current_memory_size = {record["memory_type"]: int(record["count"]) for record in results} + self.current_memory_size = { + record["memory_type"]: int(record["count"]) for record in results + } logger.info(f"[MemoryManager] Refreshed memory sizes: {self.current_memory_size}") def _process_memory(self, memory: TextualMemoryItem, user_name: str | None = None):