graphiti-core 0.7.6__tar.gz → 0.7.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/PKG-INFO +1 -1
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/dedupe_nodes.py +1 -1
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/search_filters.py +1 -1
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/node_operations.py +11 -1
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/pyproject.toml +1 -1
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/LICENSE +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/README.md +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/edges.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/embedder/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/embedder/client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/embedder/openai.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/embedder/voyage.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/errors.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/graphiti.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/helpers.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/anthropic_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/config.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/errors.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/groq_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/openai_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/openai_generic_client.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/utils.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/models/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/models/edges/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/models/edges/edge_db_queries.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/models/nodes/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/models/nodes/node_db_queries.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/nodes.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/dedupe_edges.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/eval.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/extract_edge_dates.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/extract_edges.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/extract_nodes.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/invalidate_edges.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/lib.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/models.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/prompt_helpers.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/prompts/summarize_nodes.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/py.typed +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/search.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/search_config.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/search_config_recipes.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/search/search_utils.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/bulk_utils.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/datetime_utils.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/__init__.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/community_operations.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
- {graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/utils.py +0 -0
|
@@ -64,7 +64,7 @@ def node(context: dict[str, Any]) -> list[Message]:
|
|
|
64
64
|
{json.dumps(context['existing_nodes'], indent=2)}
|
|
65
65
|
</EXISTING NODES>
|
|
66
66
|
|
|
67
|
-
Given the above EXISTING NODES, MESSAGE, and PREVIOUS MESSAGES. Determine if the NEW NODE extracted from the conversation
|
|
67
|
+
Given the above EXISTING NODES and their attributes, MESSAGE, and PREVIOUS MESSAGES. Determine if the NEW NODE extracted from the conversation
|
|
68
68
|
is a duplicate entity of one of the EXISTING NODES.
|
|
69
69
|
|
|
70
70
|
<NEW NODE>
|
|
@@ -55,7 +55,7 @@ def node_search_filter_query_constructor(
|
|
|
55
55
|
filter_params: dict[str, Any] = {}
|
|
56
56
|
|
|
57
57
|
if filters.node_labels is not None:
|
|
58
|
-
node_labels = '
|
|
58
|
+
node_labels = '|'.join(filters.node_labels)
|
|
59
59
|
node_label_filter = ' AND n:' + node_labels
|
|
60
60
|
filter_query += node_label_filter
|
|
61
61
|
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/node_operations.py
RENAMED
|
@@ -289,7 +289,10 @@ async def resolve_extracted_node(
|
|
|
289
289
|
start = time()
|
|
290
290
|
|
|
291
291
|
# Prepare context for LLM
|
|
292
|
-
existing_nodes_context = [
|
|
292
|
+
existing_nodes_context = [
|
|
293
|
+
{'uuid': node.uuid, 'name': node.name, 'attributes': node.attributes}
|
|
294
|
+
for node in existing_nodes
|
|
295
|
+
]
|
|
293
296
|
|
|
294
297
|
extracted_node_context = {
|
|
295
298
|
'uuid': extracted_node.uuid,
|
|
@@ -366,6 +369,13 @@ async def resolve_extracted_node(
|
|
|
366
369
|
node = existing_node
|
|
367
370
|
node.name = name
|
|
368
371
|
node.summary = summary_response.get('summary', '')
|
|
372
|
+
|
|
373
|
+
new_attributes = existing_node.attributes
|
|
374
|
+
existing_attributes = existing_node.attributes
|
|
375
|
+
for attribute_name, attribute_value in existing_attributes.items():
|
|
376
|
+
if new_attributes.get(attribute_name) is None:
|
|
377
|
+
new_attributes[attribute_name] = attribute_value
|
|
378
|
+
|
|
369
379
|
uuid_map[extracted_node.uuid] = existing_node.uuid
|
|
370
380
|
|
|
371
381
|
end = time()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/bge_reranker_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/cross_encoder/openai_reranker_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/llm_client/openai_generic_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/community_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/edge_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/graph_data_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.6 → graphiti_core-0.7.7}/graphiti_core/utils/maintenance/temporal_operations.py
RENAMED
|
File without changes
|
|
File without changes
|