Retrieve episodes override (#319)
* add episode override * add test * make format
This commit is contained in:
parent
b7bd56dc50
commit
fb37565112
3 changed files with 17 additions and 3 deletions
|
|
@ -70,6 +70,11 @@ async def main():
|
||||||
messages = parse_podcast_messages()
|
messages = parse_podcast_messages()
|
||||||
|
|
||||||
for i, message in enumerate(messages[3:14]):
|
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(
|
await client.add_episode(
|
||||||
name=f'Message {i}',
|
name=f'Message {i}',
|
||||||
episode_body=f'{message.speaker_name} ({message.role}): {message.content}',
|
episode_body=f'{message.speaker_name} ({message.role}): {message.content}',
|
||||||
|
|
@ -77,6 +82,7 @@ async def main():
|
||||||
source_description='Podcast Transcript',
|
source_description='Podcast Transcript',
|
||||||
group_id='podcast',
|
group_id='podcast',
|
||||||
entity_types={'Person': Person},
|
entity_types={'Person': Person},
|
||||||
|
previous_episode_uuids=episode_uuids,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -262,6 +262,7 @@ class Graphiti:
|
||||||
uuid: str | None = None,
|
uuid: str | None = None,
|
||||||
update_communities: bool = False,
|
update_communities: bool = False,
|
||||||
entity_types: dict[str, BaseModel] | None = None,
|
entity_types: dict[str, BaseModel] | None = None,
|
||||||
|
previous_episode_uuids: list[str] | None = None,
|
||||||
) -> AddEpisodeResults:
|
) -> AddEpisodeResults:
|
||||||
"""
|
"""
|
||||||
Process an episode and update the graph.
|
Process an episode and update the graph.
|
||||||
|
|
@ -287,6 +288,9 @@ class Graphiti:
|
||||||
Optional uuid of the episode.
|
Optional uuid of the episode.
|
||||||
update_communities : bool
|
update_communities : bool
|
||||||
Optional. Whether to update communities with new node information
|
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
|
Returns
|
||||||
-------
|
-------
|
||||||
|
|
@ -315,8 +319,12 @@ class Graphiti:
|
||||||
entity_edges: list[EntityEdge] = []
|
entity_edges: list[EntityEdge] = []
|
||||||
now = utc_now()
|
now = utc_now()
|
||||||
|
|
||||||
previous_episodes = await self.retrieve_episodes(
|
previous_episodes = (
|
||||||
reference_time, last_n=RELEVANT_SCHEMA_LIMIT, group_ids=[group_id]
|
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 = (
|
episode = (
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "graphiti-core"
|
name = "graphiti-core"
|
||||||
version = "0.8.6"
|
version = "0.8.7"
|
||||||
description = "A temporal graph building library"
|
description = "A temporal graph building library"
|
||||||
authors = [
|
authors = [
|
||||||
"Paul Paliychuk <paul@getzep.com>",
|
"Paul Paliychuk <paul@getzep.com>",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue