graphiti-core 0.11.6rc1__py3-none-any.whl → 0.11.6rc3__py3-none-any.whl

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.

graphiti_core/graphiti.py CHANGED
@@ -397,7 +397,7 @@ class Graphiti:
397
397
  episode.content = ''
398
398
 
399
399
  await add_nodes_and_edges_bulk(
400
- self.driver, [episode], episodic_edges, hydrated_nodes, entity_edges
400
+ self.driver, [episode], episodic_edges, hydrated_nodes, entity_edges, self.embedder
401
401
  )
402
402
 
403
403
  # Update any communities
@@ -693,7 +693,7 @@ class Graphiti:
693
693
  invalidated_edges = resolve_edge_contradictions(resolved_edge, contradicting_edges)
694
694
 
695
695
  await add_nodes_and_edges_bulk(
696
- self.driver, [], [], resolved_nodes, [resolved_edge] + invalidated_edges
696
+ self.driver, [], [], resolved_nodes, [resolved_edge] + invalidated_edges, self.embedder
697
697
  )
698
698
 
699
699
  async def remove_episode(self, episode_uuid: str):
@@ -26,6 +26,7 @@ from pydantic import BaseModel
26
26
  from typing_extensions import Any
27
27
 
28
28
  from graphiti_core.edges import Edge, EntityEdge, EpisodicEdge
29
+ from graphiti_core.embedder import EmbedderClient
29
30
  from graphiti_core.graphiti_types import GraphitiClients
30
31
  from graphiti_core.helpers import DEFAULT_DATABASE, semaphore_gather
31
32
  from graphiti_core.llm_client import LLMClient
@@ -95,10 +96,16 @@ async def add_nodes_and_edges_bulk(
95
96
  episodic_edges: list[EpisodicEdge],
96
97
  entity_nodes: list[EntityNode],
97
98
  entity_edges: list[EntityEdge],
99
+ embedder: EmbedderClient,
98
100
  ):
99
101
  async with driver.session(database=DEFAULT_DATABASE) as session:
100
102
  await session.execute_write(
101
- add_nodes_and_edges_bulk_tx, episodic_nodes, episodic_edges, entity_nodes, entity_edges
103
+ add_nodes_and_edges_bulk_tx,
104
+ episodic_nodes,
105
+ episodic_edges,
106
+ entity_nodes,
107
+ entity_edges,
108
+ embedder,
102
109
  )
103
110
 
104
111
 
@@ -108,12 +115,15 @@ async def add_nodes_and_edges_bulk_tx(
108
115
  episodic_edges: list[EpisodicEdge],
109
116
  entity_nodes: list[EntityNode],
110
117
  entity_edges: list[EntityEdge],
118
+ embedder: EmbedderClient,
111
119
  ):
112
120
  episodes = [dict(episode) for episode in episodic_nodes]
113
121
  for episode in episodes:
114
122
  episode['source'] = str(episode['source'].value)
115
123
  nodes: list[dict[str, Any]] = []
116
124
  for node in entity_nodes:
125
+ if node.name_embedding is None:
126
+ await node.generate_name_embedding(embedder)
117
127
  entity_data: dict[str, Any] = {
118
128
  'uuid': node.uuid,
119
129
  'name': node.name,
@@ -127,6 +137,10 @@ async def add_nodes_and_edges_bulk_tx(
127
137
  entity_data['labels'] = list(set(node.labels + ['Entity']))
128
138
  nodes.append(entity_data)
129
139
 
140
+ for edge in entity_edges:
141
+ if edge.fact_embedding is None:
142
+ await edge.generate_name_fact(embedder)
143
+
130
144
  await tx.run(EPISODIC_NODE_SAVE_BULK, episodes=episodes)
131
145
  await tx.run(ENTITY_NODE_SAVE_BULK, nodes=nodes)
132
146
  await tx.run(
@@ -279,6 +279,11 @@ async def resolve_extracted_edges(
279
279
 
280
280
  logger.debug(f'Resolved edges: {[(e.name, e.uuid) for e in resolved_edges]}')
281
281
 
282
+ await semaphore_gather(
283
+ create_entity_edge_embeddings(embedder, extracted_edges),
284
+ create_entity_edge_embeddings(embedder, invalidated_edges),
285
+ )
286
+
282
287
  return resolved_edges, invalidated_edges
283
288
 
284
289
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: graphiti-core
3
- Version: 0.11.6rc1
3
+ Version: 0.11.6rc3
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -10,7 +10,7 @@ graphiti_core/embedder/gemini.py,sha256=Dh80q21auMvDBjwqHsI_wFrJtgWwCXRHzwg31-BS
10
10
  graphiti_core/embedder/openai.py,sha256=bIThUoLMeGlHG2-3VikzK6JZfOHKn4PKvUMx5sHxJy8,2192
11
11
  graphiti_core/embedder/voyage.py,sha256=gQhdcz2IYPSyOcDn3w8aHToVS3KQhyZrUBm4vqr3WcE,2224
12
12
  graphiti_core/errors.py,sha256=Nib1uQx2cO_VOizupmRjpFfmuRg-hFAVqTtZAuBehR8,2405
13
- graphiti_core/graphiti.py,sha256=VqDudiUAPUnVIsq4997p6TYSpepX3muG06zhWST7yvg,27060
13
+ graphiti_core/graphiti.py,sha256=niRU1sZ2hf3a8WUPQAEIOsg8ixR_r_NUau5famfe1uM,27090
14
14
  graphiti_core/graphiti_types.py,sha256=46ueysKPwUCpxkMePHdCJLspfTImoZN7JiRwpz7cqd0,1013
15
15
  graphiti_core/helpers.py,sha256=Rj_ayM7hphlyY4v0ln_9vjFtr76aTjLVenYny0Wntwo,3086
16
16
  graphiti_core/llm_client/__init__.py,sha256=PA80TSMeX-sUXITXEAxMDEt3gtfZgcJrGJUcyds1mSo,207
@@ -50,17 +50,17 @@ graphiti_core/search/search_filters.py,sha256=JkP7NbM4Dor27dne5vAuxbJic12dIJDtWJ
50
50
  graphiti_core/search/search_helpers.py,sha256=G5Ceaq5Pfgx0Weelqgeylp_pUHwiBnINaUYsDbURJbE,2636
51
51
  graphiti_core/search/search_utils.py,sha256=D4A-tvViAZ3dV7AUb3R7n6-Pc_hY37jyoPodJ_G6u7s,30766
52
52
  graphiti_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
- graphiti_core/utils/bulk_utils.py,sha256=Z1QzpcopVHxttRmVeYdVDHRjjY7z0cW1wwHB-0yQ6Ng,14820
53
+ graphiti_core/utils/bulk_utils.py,sha256=bkEnMGo0uSV_maSFlY06-NFrGZJpxlwDjDqrtuH7Ek8,15221
54
54
  graphiti_core/utils/datetime_utils.py,sha256=Ti-2tnrDFRzBsbfblzsHybsM3jaDLP4-VT2t0VhpIzU,1357
55
55
  graphiti_core/utils/maintenance/__init__.py,sha256=vW4H1KyapTl-OOz578uZABYcpND4wPx3Vt6aAPaXh78,301
56
56
  graphiti_core/utils/maintenance/community_operations.py,sha256=TF-4eHuvMe_jMqvWg3swxK80zLLtOR0t1pmUUQlNulM,10067
57
- graphiti_core/utils/maintenance/edge_operations.py,sha256=d3lhPEOx3l7MiKzyiQDoTteAqHimz1b2BXf6mtLfFnI,14583
57
+ graphiti_core/utils/maintenance/edge_operations.py,sha256=anNfjH90hWPoSj4Dk2HZIDtbyCfVTGLiSc3wsxrsYZg,14752
58
58
  graphiti_core/utils/maintenance/graph_data_operations.py,sha256=BIJKc8tbvU4IjWxLgeotw57b1eE3Iw8YtV74j6eo4RQ,7493
59
59
  graphiti_core/utils/maintenance/node_operations.py,sha256=VMiDrzXryUV7-_btDVw87K3OawYeC9-9UqNQbfC5Bbo,15316
60
60
  graphiti_core/utils/maintenance/temporal_operations.py,sha256=mJkw9xLB4W2BsLfC5POr0r-PHWL9SIfNj_l_xu0B5ug,3410
61
61
  graphiti_core/utils/maintenance/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  graphiti_core/utils/ontology_utils/entity_types_utils.py,sha256=QJX5cG0GSSNF_Mm_yrldr69wjVAbN_MxLhOSznz85Hk,1279
63
- graphiti_core-0.11.6rc1.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
64
- graphiti_core-0.11.6rc1.dist-info/METADATA,sha256=M3ifwISy_nco6WnUW-9es2CsqcIhxaZThKiLP9Vpy6E,15301
65
- graphiti_core-0.11.6rc1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
66
- graphiti_core-0.11.6rc1.dist-info/RECORD,,
63
+ graphiti_core-0.11.6rc3.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
64
+ graphiti_core-0.11.6rc3.dist-info/METADATA,sha256=DJ3v8aqi_m7ouf20HJD8p2sKPvaHKLopScxba8u6WHo,15301
65
+ graphiti_core-0.11.6rc3.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
66
+ graphiti_core-0.11.6rc3.dist-info/RECORD,,