Skip to content

Commit 1f60c56

Browse files
whipser030黑布林CaralHsifridayL
authored
fix: chat time issue 2023->2025 (#479)
* update reader and search strategy * set strategy reader and search config * fix install problem * fix * fix test * turn off graph recall * turn off graph recall * turn off graph recall * fix Searcher input bug * fix Searcher * fix Search * fix bug * adjust strategy reader * adjust strategy reader * adjust search config input * reformat code * re pr * format repair * fix time issue --------- Co-authored-by: 黑布林 <11641432+heiheiyouyou@user.noreply.gitee.com> Co-authored-by: CaralHsi <caralhsi@gmail.com> Co-authored-by: chunyu li <78344051+fridayL@users.noreply.github.com>
1 parent 2019b4a commit 1f60c56

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

src/memos/mem_reader/simple_struct.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import traceback
77

88
from abc import ABC
9+
from datetime import datetime, timezone
910
from typing import Any
1011

1112
from tqdm import tqdm
@@ -399,7 +400,7 @@ def get_memory(
399400

400401
if not all(isinstance(info[field], str) for field in required_fields):
401402
raise ValueError("user_id and session_id must be strings")
402-
403+
scene_data = self._complete_chat_time(scene_data, type)
403404
list_scene_data_info = self.get_scene_data_info(scene_data, type)
404405

405406
memory_list = []
@@ -508,6 +509,31 @@ def get_scene_data_info(self, scene_data: list, type: str) -> list[str]:
508509

509510
return results
510511

512+
def _complete_chat_time(self, scene_data: list[list[dict]], type: str):
513+
if type != "chat":
514+
return scene_data
515+
complete_scene_data = []
516+
517+
for items in scene_data:
518+
chat_time_value = None
519+
520+
for item in items:
521+
if "chat_time" in item:
522+
chat_time_value = item["chat_time"]
523+
break
524+
525+
if chat_time_value is None:
526+
session_date = datetime.now(timezone.utc)
527+
date_format = "%I:%M %p on %d %B, %Y UTC"
528+
chat_time_value = session_date.strftime(date_format)
529+
530+
for i in range(len(items)):
531+
if "chat_time" not in items[i]:
532+
items[i]["chat_time"] = chat_time_value
533+
534+
complete_scene_data.append(items)
535+
return complete_scene_data
536+
511537
def _process_doc_data(self, scene_data_info, info, **kwargs):
512538
mode = kwargs.get("mode", "fine")
513539
if mode == "fast":

0 commit comments

Comments
 (0)