@@ -132,7 +132,7 @@ def _set_current_context_from_message(self, msg: ScheduleMessageItem) -> None:
132132 self .current_mem_cube_id = msg .mem_cube_id
133133 self .current_mem_cube = msg .mem_cube
134134
135- def transform_memories_to_monitors (
135+ def transform_working_memories_to_monitors (
136136 self , query_keywords , memories : list [TextualMemoryItem ]
137137 ) -> list [MemoryMonitorItem ]:
138138 """
@@ -193,9 +193,8 @@ def replace_working_memory(
193193 text_mem_base : TreeTextMemory = text_mem_base
194194
195195 # process rerank memories with llm
196- query_history = self .monitor .query_monitors [user_id ][
197- mem_cube_id
198- ].get_queries_with_timesort ()
196+ query_monitor = self .monitor .query_monitors [user_id ][mem_cube_id ]
197+ query_history = query_monitor .get_queries_with_timesort ()
199198 memories_with_new_order , rerank_success_flag = (
200199 self .retriever .process_and_rerank_memories (
201200 queries = query_history ,
@@ -206,13 +205,11 @@ def replace_working_memory(
206205 )
207206
208207 # update working memory monitors
209- query_keywords = self .monitor .query_monitors [user_id ][
210- mem_cube_id
211- ].get_keywords_collections ()
208+ query_keywords = query_monitor .get_keywords_collections ()
212209 logger .debug (
213210 f"Processing { len (memories_with_new_order )} memories with { len (query_keywords )} query keywords"
214211 )
215- new_working_memory_monitors = self .transform_memories_to_monitors (
212+ new_working_memory_monitors = self .transform_working_memories_to_monitors (
216213 query_keywords = query_keywords ,
217214 memories = memories_with_new_order ,
218215 )
@@ -252,25 +249,6 @@ def replace_working_memory(
252249
253250 return memories_with_new_order
254251
255- def initialize_working_memory_monitors (
256- self ,
257- user_id : UserID | str ,
258- mem_cube_id : MemCubeID | str ,
259- mem_cube : GeneralMemCube ,
260- ):
261- text_mem_base : TreeTextMemory = mem_cube .text_mem
262- working_memories = text_mem_base .get_working_memory ()
263-
264- working_memory_monitors = self .transform_memories_to_monitors (
265- memories = working_memories ,
266- )
267- self .monitor .update_working_memory_monitors (
268- new_working_memory_monitors = working_memory_monitors ,
269- user_id = user_id ,
270- mem_cube_id = mem_cube_id ,
271- mem_cube = mem_cube ,
272- )
273-
274252 def update_activation_memory (
275253 self ,
276254 new_memories : list [str | TextualMemoryItem ],
@@ -374,13 +352,9 @@ def update_activation_memory_periodically(
374352 or len (self .monitor .working_memory_monitors [user_id ][mem_cube_id ].memories ) == 0
375353 ):
376354 logger .warning (
377- "No memories found in working_memory_monitors, initializing from current working_memories"
378- )
379- self .initialize_working_memory_monitors (
380- user_id = user_id ,
381- mem_cube_id = mem_cube_id ,
382- mem_cube = mem_cube ,
355+ "No memories found in working_memory_monitors, activation memory update is skipped"
383356 )
357+ return
384358
385359 self .monitor .update_activation_memory_monitors (
386360 user_id = user_id , mem_cube_id = mem_cube_id , mem_cube = mem_cube
0 commit comments