@@ -36,7 +36,7 @@ def _query_message_consumer(self, messages: list[ScheduleMessageItem]) -> None:
3636 Args:
3737 messages: List of query messages to process
3838 """
39- logger .debug (f"Messages { messages } assigned to { QUERY_LABEL } handler." )
39+ logger .info (f"Messages { messages } assigned to { QUERY_LABEL } handler." )
4040
4141 # Process the query in a session turn
4242 grouped_messages = self .dispatcher .group_messages_by_user_and_cube (messages = messages )
@@ -67,7 +67,7 @@ def _answer_message_consumer(self, messages: list[ScheduleMessageItem]) -> None:
6767 Args:
6868 messages: List of answer messages to process
6969 """
70- logger .debug (f"Messages { messages } assigned to { ANSWER_LABEL } handler." )
70+ logger .info (f"Messages { messages } assigned to { ANSWER_LABEL } handler." )
7171 # Process the query in a session turn
7272 grouped_messages = self .dispatcher .group_messages_by_user_and_cube (messages = messages )
7373
@@ -93,7 +93,7 @@ def _answer_message_consumer(self, messages: list[ScheduleMessageItem]) -> None:
9393 )
9494
9595 def _add_message_consumer (self , messages : list [ScheduleMessageItem ]) -> None :
96- logger .debug (f"Messages { messages } assigned to { ADD_LABEL } handler." )
96+ logger .info (f"Messages { messages } assigned to { ADD_LABEL } handler." )
9797 # Process the query in a session turn
9898 grouped_messages = self .dispatcher .group_messages_by_user_and_cube (messages = messages )
9999
@@ -155,32 +155,59 @@ def process_session_turn(
155155 logger .error ("Not implemented!" , exc_info = True )
156156 return
157157
158+ logger .info (f"Processing { len (queries )} queries." )
159+
158160 working_memory : list [TextualMemoryItem ] = text_mem_base .get_working_memory ()
159161 text_working_memory : list [str ] = [w_m .memory for w_m in working_memory ]
160162 intent_result = self .monitor .detect_intent (
161163 q_list = query_history , text_working_memory = text_working_memory
162164 )
163165
164- if intent_result ["trigger_retrieval" ]:
165- missing_evidences = intent_result ["missing_evidences" ]
166- num_evidence = len (missing_evidences )
167- k_per_evidence = max (1 , top_k // max (1 , num_evidence ))
168- new_candidates = []
169- for item in missing_evidences :
170- logger .debug (f"missing_evidences: { item } " )
171- results = self .retriever .search (
172- query = item , mem_cube = mem_cube , top_k = k_per_evidence , method = self .search_method
173- )
174- logger .debug (f"search results for { missing_evidences } : { results } " )
175- new_candidates .extend (results )
176-
177- new_order_working_memory = self .retriever .replace_working_memory (
178- queries = queries ,
179- user_id = user_id ,
180- mem_cube_id = mem_cube_id ,
181- mem_cube = mem_cube ,
182- original_memory = working_memory ,
183- new_memory = new_candidates ,
184- top_k = top_k ,
166+ time_trigger_flag = False
167+ if self .monitor .timed_trigger (
168+ last_time = self .monitor ._last_query_consume_time ,
169+ interval_seconds = self .monitor .query_trigger_interval ,
170+ ):
171+ time_trigger_flag = True
172+ self ._query_consume_time = True
173+
174+ if (not intent_result ["trigger_retrieval" ]) and (not time_trigger_flag ):
175+ logger .info (f"Query schedule not triggered. Intent_result: { intent_result } " )
176+ return
177+ elif (not intent_result ["trigger_retrieval" ]) and time_trigger_flag :
178+ logger .info ("Query schedule is forced to trigger due to time ticker" )
179+ intent_result ["trigger_retrieval" ] = True
180+ intent_result ["missing_evidences" ] = queries
181+ else :
182+ logger .info (
183+ f"Query schedule is triggered, and missing_evidences: { intent_result ['missing_evidences' ]} "
185184 )
186- logger .debug (f"size of new_order_working_memory: { len (new_order_working_memory )} " )
185+
186+ missing_evidences = intent_result ["missing_evidences" ]
187+ num_evidence = len (missing_evidences )
188+ k_per_evidence = max (1 , top_k // max (1 , num_evidence ))
189+ new_candidates = []
190+ for item in missing_evidences :
191+ logger .debug (f"missing_evidences: { item } " )
192+ results = self .retriever .search (
193+ query = item , mem_cube = mem_cube , top_k = k_per_evidence , method = self .search_method
194+ )
195+ logger .debug (f"search results for { missing_evidences } : { results } " )
196+ new_candidates .extend (results )
197+
198+ new_order_working_memory = self .retriever .replace_working_memory (
199+ queries = queries ,
200+ user_id = user_id ,
201+ mem_cube_id = mem_cube_id ,
202+ mem_cube = mem_cube ,
203+ original_memory = working_memory ,
204+ new_memory = new_candidates ,
205+ top_k = top_k ,
206+ )
207+ logger .debug (f"size of new_order_working_memory: { len (new_order_working_memory )} " )
208+
209+ self .monitor .update_memory_monitors (
210+ user_id = user_id ,
211+ mem_cube_id = mem_cube_id ,
212+ mem_cube = mem_cube ,
213+ )
0 commit comments