Skip to content

Commit 65573f1

Browse files
authored
Fix/file source (#640)
* Fallback source_doc_id to file_ids in KB logs * Refactor(scheduler): Use file_ids directly for source_doc_id in KB logs * Refactor(scheduler): Safely access file_ids for KB log source_doc_id --------- Co-authored-by: [email protected] <>
1 parent 85a3b9b commit 65573f1

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/memos/mem_scheduler/general_scheduler.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -516,8 +516,12 @@ def send_add_log_messages_to_cloud_env(
516516
"""
517517
kb_log_content: list[dict] = []
518518
info = msg.info or {}
519+
519520
# Process added items
520521
for item in prepared_add_items:
522+
metadata = getattr(item, "metadata", None)
523+
file_ids = getattr(metadata, "file_ids", None) if metadata else None
524+
source_doc_id = file_ids[0] if isinstance(file_ids, list) and file_ids else None
521525
kb_log_content.append(
522526
{
523527
"log_source": "KNOWLEDGE_BASE_LOG",
@@ -526,13 +530,16 @@ def send_add_log_messages_to_cloud_env(
526530
"memory_id": item.id,
527531
"content": item.memory,
528532
"original_content": None,
529-
"source_doc_id": getattr(item.metadata, "source_doc_id", None),
533+
"source_doc_id": source_doc_id,
530534
}
531535
)
532536

533537
# Process updated items
534538
for item_data in prepared_update_items_with_original:
535539
item = item_data["new_item"]
540+
metadata = getattr(item, "metadata", None)
541+
file_ids = getattr(metadata, "file_ids", None) if metadata else None
542+
source_doc_id = file_ids[0] if isinstance(file_ids, list) and file_ids else None
536543
kb_log_content.append(
537544
{
538545
"log_source": "KNOWLEDGE_BASE_LOG",
@@ -541,7 +548,7 @@ def send_add_log_messages_to_cloud_env(
541548
"memory_id": item.id,
542549
"content": item.memory,
543550
"original_content": item_data.get("original_content"),
544-
"source_doc_id": getattr(item.metadata, "source_doc_id", None),
551+
"source_doc_id": source_doc_id,
545552
}
546553
)
547554

@@ -888,6 +895,11 @@ def _process_memories_with_reader(
888895
# New: Knowledge Base Logging (Cloud Service)
889896
kb_log_content = []
890897
for item in flattened_memories:
898+
metadata = getattr(item, "metadata", None)
899+
file_ids = getattr(metadata, "file_ids", None) if metadata else None
900+
source_doc_id = (
901+
file_ids[0] if isinstance(file_ids, list) and file_ids else None
902+
)
891903
kb_log_content.append(
892904
{
893905
"log_source": "KNOWLEDGE_BASE_LOG",
@@ -898,7 +910,7 @@ def _process_memories_with_reader(
898910
"memory_id": item.id,
899911
"content": item.memory,
900912
"original_content": None,
901-
"source_doc_id": getattr(item.metadata, "source_doc_id", None),
913+
"source_doc_id": source_doc_id,
902914
}
903915
)
904916
if kb_log_content:

0 commit comments

Comments
 (0)