Skip to content

Commit 3ed44db

Browse files
Wang-Daojiyuan.wangCaralHsi
authored
Feat/merge api refactor to dev (#542)
* new type * llm reconstruct and add search api modify * llm construction * add delete and get, modify chat * modify code * modify code * modify code * coding chat * fix bug in get and delete * add internet reference in playground chat stream * remove moscube * modify code * fix pre_commit * fix make test * finish info transfer * add info and custom tags * modify model product fileds * fix get api bug * fix bug * fix bug in pref add info --------- Co-authored-by: yuan.wang <[email protected]> Co-authored-by: CaralHsi <[email protected]>
1 parent aef6bcf commit 3ed44db

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

src/memos/mem_reader/read_multi_model/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def _is_message_list(obj):
6767
return True
6868

6969

70-
def coerce_scene_data(scene_data, scene_type: str) -> list[MessagesType]:
70+
def coerce_scene_data(scene_data: SceneDataInput, scene_type: str) -> list[MessagesType]:
7171
"""
7272
Normalize ANY allowed SceneDataInput into: list[MessagesType].
7373
Supports:

src/memos/memories/textual/prefer_text_memory/extractor.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,11 @@ def _process_single_chunk_explicit(
113113
vector_info = {
114114
"embedding": self.embedder.embed([pref["context_summary"]])[0],
115115
}
116-
extract_info = {**basic_info, **pref, **vector_info, **info}
116+
117+
inner_keys = set(PreferenceTextualMemoryMetadata.model_fields.keys())
118+
inner_info = {k: v for k, v in info.items() if k in inner_keys}
119+
user_info = {k: v for k, v in info.items() if k not in inner_keys}
120+
extract_info = {**basic_info, **pref, **vector_info, **inner_info, "info": user_info}
117121

118122
metadata = PreferenceTextualMemoryMetadata(
119123
type=msg_type, preference_type="explicit_preference", **extract_info
@@ -140,7 +144,16 @@ def _process_single_chunk_implicit(
140144
"embedding": self.embedder.embed([implicit_pref["context_summary"]])[0],
141145
}
142146

143-
extract_info = {**basic_info, **implicit_pref, **vector_info, **info}
147+
inner_keys = set(PreferenceTextualMemoryMetadata.model_fields.keys())
148+
inner_info = {k: v for k, v in info.items() if k in inner_keys}
149+
user_info = {k: v for k, v in info.items() if k not in inner_keys}
150+
extract_info = {
151+
**basic_info,
152+
**implicit_pref,
153+
**vector_info,
154+
**inner_info,
155+
"info": user_info,
156+
}
144157

145158
metadata = PreferenceTextualMemoryMetadata(
146159
type=msg_type, preference_type="implicit_preference", **extract_info

src/memos/multi_mem_cube/single_cube.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,7 @@ def _process_pref_mem(
496496
label=PREF_ADD_LABEL,
497497
content=json.dumps(messages_list),
498498
timestamp=datetime.utcnow(),
499+
info=add_req.info,
499500
)
500501
self.mem_scheduler.memos_message_queue.submit_messages(messages=[message_item_pref])
501502
self.logger.info(f"[SingleCubeView] cube={self.cube_id} Submitted PREF_ADD async")

0 commit comments

Comments
 (0)