Skip to content

Commit 722d445

Browse files
authored
chore(feedback): propagate source_doc_id in KB logs if available (#601)
Co-authored-by: [email protected] <>
1 parent dfff010 commit 722d445

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

src/memos/mem_scheduler/general_scheduler.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -625,12 +625,26 @@ def _extract_fields(mem_item):
625625
or mem_item.get("old_memory")
626626
or mem_item.get("original_content")
627627
)
628-
return mem_id, mem_memory, original_content
628+
source_doc_id = None
629+
if isinstance(mem_item, dict):
630+
source_doc_id = (
631+
mem_item.get("source_doc_id")
632+
or mem_item.get("doc_id")
633+
or (mem_item.get("metadata") or {}).get("source_doc_id")
634+
)
635+
else:
636+
metadata = getattr(mem_item, "metadata", None)
637+
if metadata:
638+
source_doc_id = getattr(metadata, "source_doc_id", None) or getattr(
639+
metadata, "doc_id", None
640+
)
641+
642+
return mem_id, mem_memory, original_content, source_doc_id
629643

630644
kb_log_content: list[dict] = []
631645

632646
for mem_item in add_records or []:
633-
mem_id, mem_memory, _ = _extract_fields(mem_item)
647+
mem_id, mem_memory, _, source_doc_id = _extract_fields(mem_item)
634648
if mem_id and mem_memory:
635649
kb_log_content.append(
636650
{
@@ -640,7 +654,7 @@ def _extract_fields(mem_item):
640654
"memory_id": mem_id,
641655
"content": mem_memory,
642656
"original_content": None,
643-
"source_doc_id": None,
657+
"source_doc_id": source_doc_id,
644658
}
645659
)
646660
else:
@@ -654,7 +668,7 @@ def _extract_fields(mem_item):
654668
)
655669

656670
for mem_item in update_records or []:
657-
mem_id, mem_memory, original_content = _extract_fields(mem_item)
671+
mem_id, mem_memory, original_content, source_doc_id = _extract_fields(mem_item)
658672
if mem_id and mem_memory:
659673
kb_log_content.append(
660674
{
@@ -664,7 +678,7 @@ def _extract_fields(mem_item):
664678
"memory_id": mem_id,
665679
"content": mem_memory,
666680
"original_content": original_content,
667-
"source_doc_id": None,
681+
"source_doc_id": source_doc_id,
668682
}
669683
)
670684
else:

0 commit comments

Comments
 (0)