Skip to content

Commit 8be6f34

Browse files
fridayLCaralHsi
andauthored
Feat: add sources chunk content (#639)
* feat: update memos headers * feat: headers add * feat: update search agent * feat: upadte mem story * feat: update mem scehduler * feat: update deepsearch mem code * feat: update deepsearch agent * feat: update test code * fix: remove dup config * feat: dock search pipeline * fix: code test * feat: add test scripts * feat: add test * feat: update need_raw process * fix: add initter * fix: change agent search func name * feat: update logs and defined * feat: update full text mem search * feat: cp plugin to dev * feat: add one recall for fulltext retrieval * fix: set default for fulltext search * feat: add langchain chunk * feat: fix playground for query * feat: update file content memory extract * feat: update code * feat: update import * code: reformat suffix * feat: update file_id * remove langchain-text-splitters==1.0.0 * feat: add reqiuement * feat: make test * feat: fix markdown * feat: fix simple chunker * feat: add file sources --------- Co-authored-by: CaralHsi <[email protected]>
1 parent 4231c89 commit 8be6f34

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/memos/mem_reader/read_multi_modal/file_content_parser.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,15 @@ def create_source(
167167
self,
168168
message: File,
169169
info: dict[str, Any],
170+
chunk_content: str | None = None,
170171
) -> SourceMessage:
171172
"""Create SourceMessage from file content part."""
172173
if isinstance(message, dict):
173174
file_info = message.get("file", {})
174175
return SourceMessage(
175176
type="file",
176177
doc_path=file_info.get("filename") or file_info.get("file_id", ""),
177-
content=file_info.get("file_data", ""),
178+
content=chunk_content if chunk_content else file_info.get("file_data", ""),
178179
original_part=message,
179180
)
180181
return SourceMessage(type="file", doc_path=str(message))
@@ -490,9 +491,6 @@ def parse_fine(
490491
f"[FileContentParser] Failed to delete temp file {temp_file_path}: {e}"
491492
)
492493

493-
# Create source
494-
source = self.create_source(message, info)
495-
496494
# Extract info fields
497495
if not info:
498496
info = {}
@@ -520,8 +518,10 @@ def _make_memory_item(
520518
mem_type: str = memory_type,
521519
tags: list[str] | None = None,
522520
key: str | None = None,
521+
chunk_content: str | None = None,
523522
) -> TextualMemoryItem:
524523
"""Construct memory item with common fields."""
524+
source = self.create_source(message, info, chunk_content)
525525
return TextualMemoryItem(
526526
memory=value,
527527
metadata=TreeNodeTextualMemoryMetadata(
@@ -591,6 +591,7 @@ def _process_chunk(chunk_idx: int, chunk_text: str) -> TextualMemoryItem:
591591
mem_type=llm_mem_type,
592592
tags=tags,
593593
key=response_json.get("key"),
594+
chunk_content=chunk_text,
594595
)
595596
except Exception as e:
596597
logger.error(f"[FileContentParser] LLM error for chunk {chunk_idx}: {e}")

0 commit comments

Comments
 (0)