add episode bulk search results (#897)

* add episode bulk search results

* update

* docstring

* update
This commit is contained in:
Preston Rasmussen 2025-09-08 14:34:32 -04:00 committed by GitHub
parent 792bcc52bd
commit 7e6d93fa32
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 22 additions and 5 deletions

View file

@ -113,6 +113,15 @@ class AddEpisodeResults(BaseModel):
community_edges: list[CommunityEdge]
class AddBulkEpisodeResults(BaseModel):
episodes: list[EpisodicNode]
episodic_edges: list[EpisodicEdge]
nodes: list[EntityNode]
edges: list[EntityEdge]
communities: list[CommunityNode]
community_edges: list[CommunityEdge]
class Graphiti:
def __init__(
self,
@ -572,7 +581,6 @@ class Graphiti:
except Exception as e:
raise e
##### EXPERIMENTAL #####
async def add_episode_bulk(
self,
bulk_episodes: list[RawEpisode],
@ -581,7 +589,7 @@ class Graphiti:
excluded_entity_types: list[str] | None = None,
edge_types: dict[str, type[BaseModel]] | None = None,
edge_type_map: dict[tuple[str, str], list[str]] | None = None,
):
) -> AddBulkEpisodeResults:
"""
Process multiple episodes in bulk and update the graph.
@ -597,7 +605,7 @@ class Graphiti:
Returns
-------
None
AddBulkEpisodeResults
Notes
-----
@ -849,6 +857,15 @@ class Graphiti:
end = time()
logger.info(f'Completed add_episode_bulk in {(end - start) * 1000} ms')
return AddBulkEpisodeResults(
episodes=episodes,
episodic_edges=resolved_episodic_edges,
nodes=final_hydrated_nodes,
edges=resolved_edges + invalidated_edges,
communities=[],
community_edges=[],
)
except Exception as e:
raise e

View file

@ -1,7 +1,7 @@
[project]
name = "graphiti-core"
description = "A temporal graph building library"
version = "0.20.2"
version = "0.20.3"
authors = [
{ name = "Paul Paliychuk", email = "paul@getzep.com" },
{ name = "Preston Rasmussen", email = "preston@getzep.com" },

2
uv.lock generated
View file

@ -783,7 +783,7 @@ wheels = [
[[package]]
name = "graphiti-core"
version = "0.20.2"
version = "0.20.3"
source = { editable = "." }
dependencies = [
{ name = "diskcache" },