|
9 | 9 | from memos.context.context import ContextThreadPoolExecutor |
10 | 10 | from memos.log import get_logger |
11 | 11 | from memos.mem_reader.simple_struct import detect_lang |
12 | | -from memos.memories.textual.item import PreferenceTextualMemoryMetadata, TextualMemoryItem |
| 12 | +from memos.memories.textual.item import ( |
| 13 | + PreferenceTextualMemoryMetadata, |
| 14 | + TextualMemoryItem, |
| 15 | + list_all_fields, |
| 16 | +) |
13 | 17 | from memos.memories.textual.prefer_text_memory.spliter import Splitter |
14 | 18 | from memos.memories.textual.prefer_text_memory.utils import convert_messages_to_string |
15 | 19 | from memos.templates.prefer_complete_prompt import ( |
@@ -114,8 +118,8 @@ def _process_single_chunk_explicit( |
114 | 118 | vector_info = { |
115 | 119 | "embedding": self.embedder.embed([pref["context_summary"]])[0], |
116 | 120 | } |
117 | | - |
118 | | - extract_info = {**basic_info, **pref, **vector_info, **info} |
| 121 | + user_info = {k: v for k, v in info.items() if k not in list_all_fields()} |
| 122 | + extract_info = {**basic_info, **pref, **vector_info, **info, "info": user_info} |
119 | 123 |
|
120 | 124 | metadata = PreferenceTextualMemoryMetadata( |
121 | 125 | type=msg_type, preference_type="explicit_preference", **extract_info |
@@ -143,8 +147,8 @@ def _process_single_chunk_implicit( |
143 | 147 | vector_info = { |
144 | 148 | "embedding": self.embedder.embed([pref["context_summary"]])[0], |
145 | 149 | } |
146 | | - |
147 | | - extract_info = {**basic_info, **pref, **vector_info, **info} |
| 150 | + user_info = {k: v for k, v in info.items() if k not in list_all_fields()} |
| 151 | + extract_info = {**basic_info, **pref, **vector_info, **info, "info": user_info} |
148 | 152 |
|
149 | 153 | metadata = PreferenceTextualMemoryMetadata( |
150 | 154 | type=msg_type, preference_type="implicit_preference", **extract_info |
|
0 commit comments