diff --git a/graphiti_core/graphiti.py b/graphiti_core/graphiti.py
index 438d31a6..81cf90fc 100644
--- a/graphiti_core/graphiti.py
+++ b/graphiti_core/graphiti.py
@@ -724,7 +724,7 @@ class Graphiti:
if edge.fact_embedding is None:
await edge.generate_embedding(self.embedder)
- resolved_nodes, _ = await resolve_extracted_nodes(
+ resolved_nodes, uuid_map = await resolve_extracted_nodes(
self.llm_client,
[source_node, target_node],
[
@@ -733,14 +733,16 @@ class Graphiti:
],
)
+ updated_edge = resolve_edge_pointers([edge], uuid_map)[0]
+
related_edges = await get_relevant_edges(
self.driver,
- [edge],
+ [updated_edge],
source_node_uuid=resolved_nodes[0].uuid,
target_node_uuid=resolved_nodes[1].uuid,
)
- resolved_edge = await dedupe_extracted_edge(self.llm_client, edge, related_edges)
+ resolved_edge = await dedupe_extracted_edge(self.llm_client, updated_edge, related_edges)
contradicting_edges = await get_edge_contradictions(self.llm_client, edge, related_edges)
invalidated_edges = resolve_edge_contradictions(resolved_edge, contradicting_edges)
diff --git a/graphiti_core/prompts/summarize_nodes.py b/graphiti_core/prompts/summarize_nodes.py
index fc03d828..e00e1bab 100644
--- a/graphiti_core/prompts/summarize_nodes.py
+++ b/graphiti_core/prompts/summarize_nodes.py
@@ -79,8 +79,8 @@ def summarize_context(context: dict[str, Any]) -> list[Message]:
{json.dumps(context['episode_content'], indent=2)}
- Given the above MESSAGES and the following ENTITY name, create a summary for the ENTITY. Your summary must only use
- information from the provided MESSAGES. Your summary should also only contain information relevant to the
+ Given the above MESSAGES and the following ENTITY name and ENTITY CONTEXT, create a summary for the ENTITY. Your summary must only use
+ information from the provided MESSAGES and from the ENTITY CONTEXT. Your summary should also only contain information relevant to the
provided ENTITY.
Summaries must be under 500 words.
@@ -88,6 +88,9 @@ def summarize_context(context: dict[str, Any]) -> list[Message]:
{context['node_name']}
+
+ {context['node_summary']}
+
""",
),
]
diff --git a/graphiti_core/utils/maintenance/node_operations.py b/graphiti_core/utils/maintenance/node_operations.py
index fe450163..31e916b4 100644
--- a/graphiti_core/utils/maintenance/node_operations.py
+++ b/graphiti_core/utils/maintenance/node_operations.py
@@ -268,6 +268,7 @@ async def resolve_extracted_node(
summary_context = {
'node_name': extracted_node.name,
+ 'node_summary': extracted_node.summary,
'episode_content': episode.content if episode is not None else '',
'previous_episodes': [ep.content for ep in previous_episodes]
if previous_episodes is not None