MCPcopy Create free account
hub / github.com/MemTensor/MemOS / process_preference_memory

Method process_preference_memory

src/memos/mem_os/core.py:796–829  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

794 self.mem_scheduler.submit_messages(messages=[message_item])
795
796 def process_preference_memory():
797 if (
798 (messages is not None)
799 and self.config.enable_preference_memory
800 and self.mem_cubes[mem_cube_id].pref_mem
801 ):
802 messages_list = [messages]
803 if sync_mode == "sync":
804 pref_memories = self.mem_cubes[mem_cube_id].pref_mem.get_memory(
805 messages_list,
806 type="chat",
807 info={
808 "user_id": target_user_id,
809 "session_id": self.session_id,
810 "mem_cube_id": mem_cube_id,
811 },
812 )
813 pref_ids = self.mem_cubes[mem_cube_id].pref_mem.add(pref_memories)
814 logger.info(
815 f"Added preferences user {target_user_id} to memcube {mem_cube_id}: {pref_ids}"
816 )
817 elif sync_mode == "async":
818 assert self.mem_scheduler is not None, (
819 "Mem-Scheduler must be working when use asynchronous memory adding."
820 )
821 message_item = ScheduleMessageItem(
822 user_id=target_user_id,
823 session_id=target_session_id,
824 mem_cube_id=mem_cube_id,
825 label=PREF_ADD_TASK_LABEL,
826 content=json.dumps(messages_list),
827 timestamp=datetime.utcnow(),
828 )
829 self.mem_scheduler.submit_messages(messages=[message_item])
830
831 # Execute both memory processing functions in parallel
832 with ContextThreadPoolExecutor(max_workers=2) as executor:

Callers

nothing calls this directly

Calls 5

ScheduleMessageItemClass · 0.90
infoMethod · 0.65
get_memoryMethod · 0.45
addMethod · 0.45
submit_messagesMethod · 0.45

Tested by

no test coverage detected