fix memory chatgpt json

This commit is contained in:
syui 2025-05-25 19:54:28 +09:00
parent 979e55cfce
commit abd2ad79bd
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56

View File

@ -49,16 +49,32 @@ class MemoryManager:
message_nodes = [] message_nodes = []
for node_id, node in mapping.items(): for node_id, node in mapping.items():
message = node.get("message") message = node.get("message")
if message and message.get("content", {}).get("parts"): if not message:
parts = message["content"]["parts"] continue
if parts and parts[0].strip(): # 空でないメッセージのみ content = message.get("content", {})
message_nodes.append({ parts = content.get("parts", [])
"id": node_id,
"create_time": message.get("create_time", 0), # partsが存在し、最初の要素が文字列で空でない場合のみ
"author_role": message["author"]["role"], if parts and isinstance(parts[0], str) and parts[0].strip():
"content": parts[0], message_nodes.append({
"parent": node.get("parent") "id": node_id,
}) "create_time": message.get("create_time", 0),
"author_role": message["author"]["role"],
"content": parts[0],
"parent": node.get("parent")
})
else:
print(f"⚠️ Skipped non-text or empty message in node {node_id}")
#if message and message.get("content", {}).get("parts"):
# parts = message["content"]["parts"]
# if parts and parts[0].strip(): # 空でないメッセージのみ
# message_nodes.append({
# "id": node_id,
# "create_time": message.get("create_time", 0),
# "author_role": message["author"]["role"],
# "content": parts[0],
# "parent": node.get("parent")
# })
# 作成時間でソート # 作成時間でソート
message_nodes.sort(key=lambda x: x["create_time"] or 0) message_nodes.sort(key=lambda x: x["create_time"] or 0)