Skip to content

Commit b167894

Browse files
Wang-Daojiyuan.wangCaralHsi
authored
Feat/merge api refactor to dev (#549)
* 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 * modify code * fix bug in get and delete --------- Co-authored-by: yuan.wang <[email protected]> Co-authored-by: CaralHsi <[email protected]>
1 parent 16f2197 commit b167894

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

src/memos/api/handlers/memory_handler.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
MemoryResponse,
1616
)
1717
from memos.log import get_logger
18+
from memos.mem_cube.navie import NaiveMemCube
1819
from memos.mem_os.utils.format_utils import (
1920
convert_graph_to_tree_forworkmem,
2021
ensure_unique_tree_ids,
@@ -162,11 +163,13 @@ def handle_get_subgraph(
162163
raise
163164

164165

165-
def handle_get_memories(get_mem_req: GetMemoryRequest, naive_mem_cube: Any) -> GetMemoryResponse:
166+
def handle_get_memories(
167+
get_mem_req: GetMemoryRequest, naive_mem_cube: NaiveMemCube
168+
) -> GetMemoryResponse:
166169
# TODO: Implement get memory with filter
167170
memories = naive_mem_cube.text_mem.get_all(user_name=get_mem_req.mem_cube_id)["nodes"]
168171
preferences: list[TextualMemoryItem] = []
169-
if get_mem_req.include_preference:
172+
if get_mem_req.include_preference and naive_mem_cube.pref_mem is not None:
170173
filter_params: dict[str, Any] = {}
171174
if get_mem_req.user_id is not None:
172175
filter_params["user_id"] = get_mem_req.user_id
@@ -183,10 +186,11 @@ def handle_get_memories(get_mem_req: GetMemoryRequest, naive_mem_cube: Any) -> G
183186
)
184187

185188

186-
def handle_delete_memories(delete_mem_req: DeleteMemoryRequest, naive_mem_cube: Any):
189+
def handle_delete_memories(delete_mem_req: DeleteMemoryRequest, naive_mem_cube: NaiveMemCube):
187190
try:
188191
naive_mem_cube.text_mem.delete(delete_mem_req.memory_ids)
189-
naive_mem_cube.pref_mem.delete(delete_mem_req.memory_ids)
192+
if naive_mem_cube.pref_mem is not None:
193+
naive_mem_cube.pref_mem.delete(delete_mem_req.memory_ids)
190194
except Exception as e:
191195
logger.error(f"Failed to delete memories: {e}", exc_info=True)
192196
return DeleteMemoryResponse(

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

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,7 @@ def _process_single_chunk_explicit(
114114
"embedding": self.embedder.embed([pref["context_summary"]])[0],
115115
}
116116

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}
117+
extract_info = {**basic_info, **pref, **vector_info, **info}
121118

122119
metadata = PreferenceTextualMemoryMetadata(
123120
type=msg_type, preference_type="explicit_preference", **extract_info
@@ -144,16 +141,7 @@ def _process_single_chunk_implicit(
144141
"embedding": self.embedder.embed([implicit_pref["context_summary"]])[0],
145142
}
146143

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-
}
144+
extract_info = {**basic_info, **implicit_pref, **vector_info, **info}
157145

158146
metadata = PreferenceTextualMemoryMetadata(
159147
type=msg_type, preference_type="implicit_preference", **extract_info

0 commit comments

Comments
 (0)