Retrieve episodes override (#319)

* add episode override

* add test

* make format
This commit is contained in:
Preston Rasmussen 2025-04-02 17:19:24 -04:00 committed by GitHub
parent b7bd56dc50
commit fb37565112
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 17 additions and 3 deletions

View file

@ -70,6 +70,11 @@ async def main():
messages = parse_podcast_messages()
for i, message in enumerate(messages[3:14]):
episodes = await client.retrieve_episodes(
message.actual_timestamp, 3, group_ids=['podcast']
)
episode_uuids = [episode.uuid for episode in episodes]
await client.add_episode(
name=f'Message {i}',
episode_body=f'{message.speaker_name} ({message.role}): {message.content}',
@ -77,6 +82,7 @@ async def main():
source_description='Podcast Transcript',
group_id='podcast',
entity_types={'Person': Person},
previous_episode_uuids=episode_uuids,
)

View file

@ -262,6 +262,7 @@ class Graphiti:
uuid: str | None = None,
update_communities: bool = False,
entity_types: dict[str, BaseModel] | None = None,
previous_episode_uuids: list[str] | None = None,
) -> AddEpisodeResults:
"""
Process an episode and update the graph.
@ -287,6 +288,9 @@ class Graphiti:
Optional uuid of the episode.
update_communities : bool
Optional. Whether to update communities with new node information
previous_episode_uuids : list[str] | None
Optional. list of episode uuids to use as the previous episodes. If this is not provided,
the most recent episodes by created_at date will be used.
Returns
-------
@ -315,8 +319,12 @@ class Graphiti:
entity_edges: list[EntityEdge] = []
now = utc_now()
previous_episodes = await self.retrieve_episodes(
reference_time, last_n=RELEVANT_SCHEMA_LIMIT, group_ids=[group_id]
previous_episodes = (
await self.retrieve_episodes(
reference_time, last_n=RELEVANT_SCHEMA_LIMIT, group_ids=[group_id]
)
if previous_episode_uuids is None
else await EpisodicNode.get_by_uuids(self.driver, previous_episode_uuids)
)
episode = (

View file

@ -1,6 +1,6 @@
[tool.poetry]
name = "graphiti-core"
version = "0.8.6"
version = "0.8.7"
description = "A temporal graph building library"
authors = [
"Paul Paliychuk <paul@getzep.com>",