graphiti-core 0.11.4__tar.gz → 0.11.5__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.

Potentially problematic release.


This version of graphiti-core might be problematic. Click here for more details.

Files changed (66) hide show
  1. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/PKG-INFO +1 -1
  2. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/dedupe_nodes.py +0 -5
  3. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/node_operations.py +18 -5
  4. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/pyproject.toml +1 -1
  5. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/LICENSE +0 -0
  6. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/README.md +0 -0
  7. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/__init__.py +0 -0
  8. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/cross_encoder/__init__.py +0 -0
  9. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  10. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/cross_encoder/client.py +0 -0
  11. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  12. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/edges.py +0 -0
  13. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/embedder/__init__.py +0 -0
  14. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/embedder/client.py +0 -0
  15. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/embedder/gemini.py +0 -0
  16. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/embedder/openai.py +0 -0
  17. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/embedder/voyage.py +0 -0
  18. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/errors.py +0 -0
  19. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/graphiti.py +0 -0
  20. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/graphiti_types.py +0 -0
  21. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/helpers.py +0 -0
  22. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/__init__.py +0 -0
  23. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/anthropic_client.py +0 -0
  24. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/client.py +0 -0
  25. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/config.py +0 -0
  26. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/errors.py +0 -0
  27. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/gemini_client.py +0 -0
  28. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/groq_client.py +0 -0
  29. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/openai_client.py +0 -0
  30. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  31. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/llm_client/utils.py +0 -0
  32. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/models/__init__.py +0 -0
  33. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/models/edges/__init__.py +0 -0
  34. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  35. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/models/nodes/__init__.py +0 -0
  36. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  37. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/nodes.py +0 -0
  38. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/__init__.py +0 -0
  39. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/dedupe_edges.py +0 -0
  40. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/eval.py +0 -0
  41. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  42. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/extract_edges.py +0 -0
  43. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/extract_nodes.py +0 -0
  44. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/invalidate_edges.py +0 -0
  45. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/lib.py +0 -0
  46. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/models.py +0 -0
  47. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/prompt_helpers.py +0 -0
  48. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/prompts/summarize_nodes.py +0 -0
  49. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/py.typed +0 -0
  50. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/__init__.py +0 -0
  51. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search.py +0 -0
  52. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search_config.py +0 -0
  53. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search_config_recipes.py +0 -0
  54. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search_filters.py +0 -0
  55. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search_helpers.py +0 -0
  56. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/search/search_utils.py +0 -0
  57. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/__init__.py +0 -0
  58. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/bulk_utils.py +0 -0
  59. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/datetime_utils.py +0 -0
  60. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/__init__.py +0 -0
  61. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  62. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  63. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  64. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  65. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/maintenance/utils.py +0 -0
  66. {graphiti_core-0.11.4 → graphiti_core-0.11.5}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: graphiti-core
3
- Version: 0.11.4
3
+ Version: 0.11.5
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -77,11 +77,6 @@ def node(context: dict[str, Any]) -> list[Message]:
77
77
  duplicate_entity_id should be set to -1.
78
78
 
79
79
  Also return the most complete name for the entity.
80
-
81
- Guidelines:
82
- 1. Entities with the same name should be considered duplicates
83
- 2. Duplicate entities may refer to the same real-world entity even if names differ. Use context clues from the MESSAGES
84
- to determine if the NEW ENTITY represents a duplicate entity of one of the EXISTING ENTITIES.
85
80
  """,
86
81
  ),
87
82
  ]
@@ -34,8 +34,10 @@ from graphiti_core.prompts.extract_nodes import (
34
34
  ExtractedEntity,
35
35
  MissedEntities,
36
36
  )
37
+ from graphiti_core.search.search import search
38
+ from graphiti_core.search.search_config import SearchResults
39
+ from graphiti_core.search.search_config_recipes import NODE_HYBRID_SEARCH_RRF
37
40
  from graphiti_core.search.search_filters import SearchFilters
38
- from graphiti_core.search.search_utils import get_relevant_nodes
39
41
  from graphiti_core.utils.datetime_utils import utc_now
40
42
 
41
43
  logger = logging.getLogger(__name__)
@@ -227,13 +229,23 @@ async def resolve_extracted_nodes(
227
229
  entity_types: dict[str, BaseModel] | None = None,
228
230
  ) -> tuple[list[EntityNode], dict[str, str]]:
229
231
  llm_client = clients.llm_client
230
- driver = clients.driver
231
232
 
232
- # Find relevant nodes already in the graph
233
- existing_nodes_lists: list[list[EntityNode]] = await get_relevant_nodes(
234
- driver, extracted_nodes, SearchFilters()
233
+ search_results: list[SearchResults] = await semaphore_gather(
234
+ *[
235
+ search(
236
+ clients=clients,
237
+ query=node.name,
238
+ query_vector=node.name_embedding,
239
+ group_ids=[node.group_id],
240
+ search_filter=SearchFilters(),
241
+ config=NODE_HYBRID_SEARCH_RRF,
242
+ )
243
+ for node in extracted_nodes
244
+ ]
235
245
  )
236
246
 
247
+ existing_nodes_lists: list[list[EntityNode]] = [result.nodes for result in search_results]
248
+
237
249
  resolved_nodes: list[EntityNode] = await semaphore_gather(
238
250
  *[
239
251
  resolve_extracted_node(
@@ -282,6 +294,7 @@ async def resolve_extracted_node(
282
294
  'id': i,
283
295
  'name': node.name,
284
296
  'entity_types': node.labels,
297
+ 'summary': node.summary,
285
298
  },
286
299
  **node.attributes,
287
300
  }
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.11.4"
4
+ version = "0.11.5"
5
5
  authors = [
6
6
  { "name" = "Paul Paliychuk", "email" = "paul@getzep.com" },
7
7
  { "name" = "Preston Rasmussen", "email" = "preston@getzep.com" },
File without changes
File without changes