This commit is contained in:
minecraft1024a
2025-11-07 19:10:56 +08:00
3 changed files with 362 additions and 10 deletions

View File

@@ -355,12 +355,12 @@ class MemoryBuilder:
for node_id in self.graph_store.graph.nodes():
node_data = self.graph_store.graph.nodes[node_id]
if node_data.get("content") == content and node_data.get("node_type") == node_type.value:
# 重建 MemoryNode 对象
# 重建 MemoryNode 对象embedding 数据从向量数据库单独获取)
return MemoryNode(
id=node_id,
content=node_data["content"],
node_type=NodeType(node_data["node_type"]),
embedding=node_data.get("embedding"),
embedding=None, # 图存储不包含 embedding需要从向量数据库获取
metadata=node_data.get("metadata", {}),
)
@@ -405,7 +405,7 @@ class MemoryBuilder:
id=node_id,
content=node_data["content"],
node_type=NodeType(node_data["node_type"]),
embedding=node_data.get("embedding"),
embedding=None, # 图存储不包含 embedding需要从向量数据库获取
metadata=node_data.get("metadata", {}),
)
# 添加当前记忆ID到元数据
@@ -455,7 +455,7 @@ class MemoryBuilder:
id=node_id,
content=node_data["content"],
node_type=NodeType(node_data["node_type"]),
embedding=node_data.get("embedding"),
embedding=None, # 图存储不包含 embedding需要从向量数据库获取
metadata=node_data.get("metadata", {}),
)
return existing_node

View File

@@ -71,11 +71,11 @@ class MemoryNode:
def to_dict(self) -> dict[str, Any]:
"""转换为字典(用于序列化)"""
# 不序列化 embedding 数据,向量数据由专门的向量数据库管理
return {
"id": self.id,
"content": self.content,
"node_type": self.node_type.value,
"embedding": self.embedding.tolist() if self.embedding is not None else None,
"metadata": self.metadata,
"created_at": self.created_at.isoformat(),
}
@@ -83,15 +83,12 @@ class MemoryNode:
@classmethod
def from_dict(cls, data: dict[str, Any]) -> MemoryNode:
"""从字典创建节点"""
embedding = None
if data.get("embedding") is not None:
embedding = np.array(data["embedding"])
# 不从 JSON 中读取 embedding 数据,向量数据由专门的向量数据库管理
return cls(
id=data["id"],
content=data["content"],
node_type=NodeType(data["node_type"]),
embedding=embedding,
embedding=None, # 向量数据需要从向量数据库中单独加载
metadata=data.get("metadata", {}),
created_at=datetime.fromisoformat(data["created_at"]),
)