Skip to content

Commit 530c942

Browse files
fix: consistency of source_doc_id in mem_feedback and scheduler
1 parent ad97277 commit 530c942

File tree

2 files changed

+31
-4
lines changed

2 files changed

+31
-4
lines changed

src/memos/mem_feedback/feedback.py

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,17 @@ def _pure_add(self, user_name: str, feedback_content: str, feedback_time: str, i
110110
return {
111111
"record": {
112112
"add": [
113-
{"id": _id, "text": added_mem.memory}
113+
{
114+
"id": _id,
115+
"text": added_mem.memory,
116+
"source_doc_id": (
117+
added_mem.metadata.file_ids[0]
118+
if hasattr(added_mem.metadata, "file_ids")
119+
and isinstance(added_mem.metadata.file_ids, list)
120+
and added_mem.metadata.file_ids
121+
else None
122+
),
123+
}
114124
for _id, added_mem in zip(added_ids, to_add_memories, strict=False)
115125
],
116126
"update": [],
@@ -197,7 +207,17 @@ def _single_add_operation(
197207
)
198208

199209
logger.info(f"[Memory Feedback ADD] {added_ids[0]}")
200-
return {"id": added_ids[0], "text": to_add_memory.memory}
210+
return {
211+
"id": added_ids[0],
212+
"text": to_add_memory.memory,
213+
"source_doc_id": (
214+
to_add_memory.metadata.file_ids[0]
215+
if hasattr(to_add_memory.metadata, "file_ids")
216+
and isinstance(to_add_memory.metadata.file_ids, list)
217+
and to_add_memory.metadata.file_ids
218+
else None
219+
),
220+
}
201221

202222
def _single_update_operation(
203223
self,
@@ -243,6 +263,13 @@ def _single_update_operation(
243263
"text": new_memory_item.memory,
244264
"archived_id": old_memory_item.id,
245265
"origin_memory": old_memory_item.memory,
266+
"source_doc_id": (
267+
old_memory_item.metadata.file_ids[0]
268+
if hasattr(old_memory_item.metadata, "file_ids")
269+
and isinstance(old_memory_item.metadata.file_ids, list)
270+
and old_memory_item.metadata.file_ids
271+
else None
272+
),
246273
}
247274

248275
def _del_working_binding(self, user_name, mem_items: list[TextualMemoryItem]) -> set[str]:

src/memos/mem_scheduler/general_scheduler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -637,8 +637,8 @@ def _extract_fields(mem_item):
637637
or mem_item.get("original_content")
638638
)
639639
source_doc_id = None
640-
if "archived_id" in mem_item:
641-
source_doc_id = mem_item.get("archived_id")
640+
if isinstance(mem_item, dict):
641+
source_doc_id = mem_item.get("source_doc_id")
642642

643643
return mem_id, mem_memory, original_content, source_doc_id
644644

0 commit comments

Comments
 (0)