fix(memory_system): 修复即时记忆的 orjson 编码与解码问题
`orjson.dumps` 返回 `bytes` 类型,在存入数据库前需要解码为 `str`。 同时,将关键词的反序列化库从标准 `json` 统一为 `orjson`,以保持序列化和反序列化操作的一致性。
This commit is contained in:
committed by
Windpicker-owo
parent
e7fa3d79ff
commit
5b32bd730c
@@ -108,7 +108,7 @@ class InstantMemory:
|
||||
memory_id=memory_item.memory_id,
|
||||
chat_id=memory_item.chat_id,
|
||||
memory_text=memory_item.memory_text,
|
||||
keywords=orjson.dumps(memory_item.keywords),
|
||||
keywords=orjson.dumps(memory_item.keywords).decode('utf-8'),
|
||||
create_time=memory_item.create_time,
|
||||
last_view_time=memory_item.last_view_time,
|
||||
)
|
||||
@@ -172,8 +172,8 @@ class InstantMemory:
|
||||
# 对每条记忆
|
||||
mem_keywords_str = mem.keywords or "[]"
|
||||
try:
|
||||
mem_keywords = json.loads(mem_keywords_str)
|
||||
except json.JSONDecodeError:
|
||||
mem_keywords = orjson.loads(mem_keywords_str)
|
||||
except orjson.JSONDecodeError:
|
||||
mem_keywords = []
|
||||
# logger.info(f"mem_keywords: {mem_keywords}")
|
||||
# logger.info(f"keywords_list: {keywords_list}")
|
||||
|
||||
Reference in New Issue
Block a user