graphiti-core 0.8.5__tar.gz → 0.8.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.

Potentially problematic release.


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

Files changed (61) hide show
  1. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/PKG-INFO +1 -1
  2. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/graphiti.py +10 -2
  3. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/config.py +1 -1
  4. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/graph_data_operations.py +11 -2
  5. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/pyproject.toml +1 -1
  6. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/LICENSE +0 -0
  7. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/README.md +0 -0
  8. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/__init__.py +0 -0
  9. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/cross_encoder/__init__.py +0 -0
  10. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  11. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/cross_encoder/client.py +0 -0
  12. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  13. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/edges.py +0 -0
  14. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/embedder/__init__.py +0 -0
  15. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/embedder/client.py +0 -0
  16. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/embedder/openai.py +0 -0
  17. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/embedder/voyage.py +0 -0
  18. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/errors.py +0 -0
  19. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/helpers.py +0 -0
  20. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/__init__.py +0 -0
  21. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/anthropic_client.py +0 -0
  22. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/client.py +0 -0
  23. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/errors.py +0 -0
  24. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/groq_client.py +0 -0
  25. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/openai_client.py +0 -0
  26. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  27. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/llm_client/utils.py +0 -0
  28. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/models/__init__.py +0 -0
  29. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/models/edges/__init__.py +0 -0
  30. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  31. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/models/nodes/__init__.py +0 -0
  32. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  33. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/nodes.py +0 -0
  34. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/__init__.py +0 -0
  35. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/dedupe_edges.py +0 -0
  36. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/dedupe_nodes.py +0 -0
  37. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/eval.py +0 -0
  38. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  39. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/extract_edges.py +0 -0
  40. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/extract_nodes.py +0 -0
  41. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/invalidate_edges.py +0 -0
  42. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/lib.py +0 -0
  43. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/models.py +0 -0
  44. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/prompt_helpers.py +0 -0
  45. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/prompts/summarize_nodes.py +0 -0
  46. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/py.typed +0 -0
  47. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/__init__.py +0 -0
  48. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/search.py +0 -0
  49. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/search_config.py +0 -0
  50. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/search_config_recipes.py +0 -0
  51. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/search_filters.py +0 -0
  52. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/search/search_utils.py +0 -0
  53. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/__init__.py +0 -0
  54. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/bulk_utils.py +0 -0
  55. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/datetime_utils.py +0 -0
  56. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/__init__.py +0 -0
  57. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  58. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  59. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/node_operations.py +0 -0
  60. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  61. {graphiti_core-0.8.5 → graphiti_core-0.8.7}/graphiti_core/utils/maintenance/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: graphiti-core
3
- Version: 0.8.5
3
+ Version: 0.8.7
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -262,6 +262,7 @@ class Graphiti:
262
262
  uuid: str | None = None,
263
263
  update_communities: bool = False,
264
264
  entity_types: dict[str, BaseModel] | None = None,
265
+ previous_episode_uuids: list[str] | None = None,
265
266
  ) -> AddEpisodeResults:
266
267
  """
267
268
  Process an episode and update the graph.
@@ -287,6 +288,9 @@ class Graphiti:
287
288
  Optional uuid of the episode.
288
289
  update_communities : bool
289
290
  Optional. Whether to update communities with new node information
291
+ previous_episode_uuids : list[str] | None
292
+ Optional. list of episode uuids to use as the previous episodes. If this is not provided,
293
+ the most recent episodes by created_at date will be used.
290
294
 
291
295
  Returns
292
296
  -------
@@ -315,8 +319,12 @@ class Graphiti:
315
319
  entity_edges: list[EntityEdge] = []
316
320
  now = utc_now()
317
321
 
318
- previous_episodes = await self.retrieve_episodes(
319
- reference_time, last_n=RELEVANT_SCHEMA_LIMIT, group_ids=[group_id]
322
+ previous_episodes = (
323
+ await self.retrieve_episodes(
324
+ reference_time, last_n=RELEVANT_SCHEMA_LIMIT, group_ids=[group_id]
325
+ )
326
+ if previous_episode_uuids is None
327
+ else await EpisodicNode.get_by_uuids(self.driver, previous_episode_uuids)
320
328
  )
321
329
 
322
330
  episode = (
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  """
16
16
 
17
- DEFAULT_MAX_TOKENS = 2048
17
+ DEFAULT_MAX_TOKENS = 8192
18
18
  DEFAULT_TEMPERATURE = 0
19
19
 
20
20
 
@@ -92,13 +92,22 @@ async def build_indices_and_constraints(driver: AsyncDriver, delete_existing: bo
92
92
  )
93
93
 
94
94
 
95
- async def clear_data(driver: AsyncDriver):
95
+ async def clear_data(driver: AsyncDriver, group_ids: list[str] | None = None):
96
96
  async with driver.session() as session:
97
97
 
98
98
  async def delete_all(tx):
99
99
  await tx.run('MATCH (n) DETACH DELETE n')
100
100
 
101
- await session.execute_write(delete_all)
101
+ async def delete_group_ids(tx):
102
+ await tx.run(
103
+ 'MATCH (n:Entity|Episodic|Community) WHERE n.group_id IN $group_ids DETACH DELETE n',
104
+ group_ids=group_ids,
105
+ )
106
+
107
+ if group_ids is None:
108
+ await session.execute_write(delete_all)
109
+ else:
110
+ await session.execute_write(delete_group_ids)
102
111
 
103
112
 
104
113
  async def retrieve_episodes(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "graphiti-core"
3
- version = "0.8.5"
3
+ version = "0.8.7"
4
4
  description = "A temporal graph building library"
5
5
  authors = [
6
6
  "Paul Paliychuk <paul@getzep.com>",
File without changes
File without changes