@@ -166,63 +166,33 @@ def mix_search_memories(
166166 turns = self .history_memory_turns ,
167167 )
168168 logger .info (f"Found { len (history_memories )} history memories." )
169- if not history_memories :
170- # Post retrieve
171- raw_memories = self .searcher .post_retrieve (
172- retrieved_results = raw_retrieved_memories ,
173- top_k = search_req .top_k ,
174- user_name = user_context .mem_cube_id ,
175- info = info ,
176- )
177-
178- # Enhance with query
179- enhanced_memories , _ = self .retriever .enhance_memories_with_query (
180- query_history = [search_req .query ],
181- memories = raw_memories ,
182- )
183- formatted_memories = [format_textual_memory_item (item ) for item in enhanced_memories ]
184- return formatted_memories
185- else :
186- # if history memories can directly answer
187- sorted_history_memories = self .reranker .rerank (
188- query = search_req .query , # Use search_req.query instead of undefined query
189- graph_results = history_memories , # Pass TextualMemoryItem objects directly
190- top_k = search_req .top_k , # Use search_req.top_k instead of undefined top_k
191- search_filter = search_filter ,
192- )
193- logger .info (f"Reranked { len (sorted_history_memories )} history memories." )
194- merged_memories = self .searcher .post_retrieve (
195- retrieved_results = raw_retrieved_memories + sorted_history_memories ,
196- top_k = search_req .top_k ,
197- user_name = user_context .mem_cube_id ,
198- info = info ,
199- )
200- memories = merged_memories [: search_req .top_k ]
201-
202- can_answer = self .retriever .evaluate_memory_answer_ability (
203- query = search_req .query , memory_texts = [one .memory for one in memories ]
204- )
205169
206- if can_answer :
207- logger .info ("History memories can answer the query." )
208-
209- else :
210- logger .info ("Submitted memory history async task." )
211- # Enhance with query
212- memories , _ = self .retriever .enhance_memories_with_query (
213- query_history = [search_req .query ],
214- memories = memories ,
215- )
216- formatted_memories = [format_textual_memory_item (item ) for item in memories ]
217- self .submit_memory_history_async_task (
218- search_req = search_req ,
219- user_context = user_context ,
220- memories_to_store = {
221- "memories" : [one .to_dict () for one in memories ],
222- "formatted_memories" : formatted_memories ,
223- },
224- )
225- return formatted_memories
170+ # if history memories can directly answer
171+ sorted_history_memories = self .reranker .rerank (
172+ query = search_req .query , # Use search_req.query instead of undefined query
173+ graph_results = history_memories , # Pass TextualMemoryItem objects directly
174+ top_k = search_req .top_k , # Use search_req.top_k instead of undefined top_k
175+ search_filter = search_filter ,
176+ )
177+ logger .info (f"Reranked { len (sorted_history_memories )} history memories." )
178+ merged_memories = self .searcher .post_retrieve (
179+ retrieved_results = raw_retrieved_memories + sorted_history_memories ,
180+ top_k = search_req .top_k ,
181+ user_name = user_context .mem_cube_id ,
182+ info = info ,
183+ )
184+ memories = merged_memories [: search_req .top_k ]
185+
186+ formatted_memories = [format_textual_memory_item (item ) for item in memories ]
187+ self .submit_memory_history_async_task (
188+ search_req = search_req ,
189+ user_context = user_context ,
190+ memories_to_store = {
191+ "memories" : [one .to_dict () for one in memories ],
192+ "formatted_memories" : formatted_memories ,
193+ },
194+ )
195+ return formatted_memories
226196
227197 def update_search_memories_to_redis (
228198 self ,
0 commit comments