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