docstring

This commit is contained in:
prestonrasmussen 2025-09-08 14:28:02 -04:00
parent a1005edc2a
commit 685dd01a6f

View file

@ -124,17 +124,17 @@ class AddBulkEpisodeResults(BaseModel):
class Graphiti: class Graphiti:
def __init__( def __init__(
self, self,
uri: str | None = None, uri: str | None = None,
user: str | None = None, user: str | None = None,
password: str | None = None, password: str | None = None,
llm_client: LLMClient | None = None, llm_client: LLMClient | None = None,
embedder: EmbedderClient | None = None, embedder: EmbedderClient | None = None,
cross_encoder: CrossEncoderClient | None = None, cross_encoder: CrossEncoderClient | None = None,
store_raw_episode_content: bool = True, store_raw_episode_content: bool = True,
graph_driver: GraphDriver | None = None, graph_driver: GraphDriver | None = None,
max_coroutines: int | None = None, max_coroutines: int | None = None,
ensure_ascii: bool = False, ensure_ascii: bool = False,
): ):
""" """
Initialize a Graphiti instance. Initialize a Graphiti instance.
@ -345,11 +345,11 @@ class Graphiti:
await build_indices_and_constraints(self.driver, delete_existing) await build_indices_and_constraints(self.driver, delete_existing)
async def retrieve_episodes( async def retrieve_episodes(
self, self,
reference_time: datetime, reference_time: datetime,
last_n: int = EPISODE_WINDOW_LEN, last_n: int = EPISODE_WINDOW_LEN,
group_ids: list[str] | None = None, group_ids: list[str] | None = None,
source: EpisodeType | None = None, source: EpisodeType | None = None,
) -> list[EpisodicNode]: ) -> list[EpisodicNode]:
""" """
Retrieve the last n episodic nodes from the graph. Retrieve the last n episodic nodes from the graph.
@ -379,20 +379,20 @@ class Graphiti:
return await retrieve_episodes(self.driver, reference_time, last_n, group_ids, source) return await retrieve_episodes(self.driver, reference_time, last_n, group_ids, source)
async def add_episode( async def add_episode(
self, self,
name: str, name: str,
episode_body: str, episode_body: str,
source_description: str, source_description: str,
reference_time: datetime, reference_time: datetime,
source: EpisodeType = EpisodeType.message, source: EpisodeType = EpisodeType.message,
group_id: str | None = None, group_id: str | None = None,
uuid: str | None = None, uuid: str | None = None,
update_communities: bool = False, update_communities: bool = False,
entity_types: dict[str, type[BaseModel]] | None = None, entity_types: dict[str, type[BaseModel]] | None = None,
excluded_entity_types: list[str] | None = None, excluded_entity_types: list[str] | None = None,
previous_episode_uuids: list[str] | None = None, previous_episode_uuids: list[str] | None = None,
edge_types: dict[str, type[BaseModel]] | None = None, edge_types: dict[str, type[BaseModel]] | None = None,
edge_type_map: dict[tuple[str, str], list[str]] | None = None, edge_type_map: dict[tuple[str, str], list[str]] | None = None,
) -> AddEpisodeResults: ) -> AddEpisodeResults:
""" """
Process an episode and update the graph. Process an episode and update the graph.
@ -582,13 +582,13 @@ class Graphiti:
raise e raise e
async def add_episode_bulk( async def add_episode_bulk(
self, self,
bulk_episodes: list[RawEpisode], bulk_episodes: list[RawEpisode],
group_id: str | None = None, group_id: str | None = None,
entity_types: dict[str, type[BaseModel]] | None = None, entity_types: dict[str, type[BaseModel]] | None = None,
excluded_entity_types: list[str] | None = None, excluded_entity_types: list[str] | None = None,
edge_types: dict[str, type[BaseModel]] | None = None, edge_types: dict[str, type[BaseModel]] | None = None,
edge_type_map: dict[tuple[str, str], list[str]] | None = None, edge_type_map: dict[tuple[str, str], list[str]] | None = None,
) -> AddBulkEpisodeResults: ) -> AddBulkEpisodeResults:
""" """
Process multiple episodes in bulk and update the graph. Process multiple episodes in bulk and update the graph.
@ -605,7 +605,7 @@ class Graphiti:
Returns Returns
------- -------
None AddBulkEpisodeResults
Notes Notes
----- -----
@ -870,7 +870,7 @@ class Graphiti:
raise e raise e
async def build_communities( async def build_communities(
self, group_ids: list[str] | None = None self, group_ids: list[str] | None = None
) -> tuple[list[CommunityNode], list[CommunityEdge]]: ) -> tuple[list[CommunityNode], list[CommunityEdge]]:
""" """
Use a community clustering algorithm to find communities of nodes. Create community nodes summarising Use a community clustering algorithm to find communities of nodes. Create community nodes summarising
@ -903,12 +903,12 @@ class Graphiti:
return community_nodes, community_edges return community_nodes, community_edges
async def search( async def search(
self, self,
query: str, query: str,
center_node_uuid: str | None = None, center_node_uuid: str | None = None,
group_ids: list[str] | None = None, group_ids: list[str] | None = None,
num_results=DEFAULT_SEARCH_LIMIT, num_results=DEFAULT_SEARCH_LIMIT,
search_filter: SearchFilters | None = None, search_filter: SearchFilters | None = None,
) -> list[EntityEdge]: ) -> list[EntityEdge]:
""" """
Perform a hybrid search on the knowledge graph. Perform a hybrid search on the knowledge graph.
@ -962,13 +962,13 @@ class Graphiti:
return edges return edges
async def _search( async def _search(
self, self,
query: str, query: str,
config: SearchConfig, config: SearchConfig,
group_ids: list[str] | None = None, group_ids: list[str] | None = None,
center_node_uuid: str | None = None, center_node_uuid: str | None = None,
bfs_origin_node_uuids: list[str] | None = None, bfs_origin_node_uuids: list[str] | None = None,
search_filter: SearchFilters | None = None, search_filter: SearchFilters | None = None,
) -> SearchResults: ) -> SearchResults:
"""DEPRECATED""" """DEPRECATED"""
return await self.search_( return await self.search_(
@ -976,13 +976,13 @@ class Graphiti:
) )
async def search_( async def search_(
self, self,
query: str, query: str,
config: SearchConfig = COMBINED_HYBRID_SEARCH_CROSS_ENCODER, config: SearchConfig = COMBINED_HYBRID_SEARCH_CROSS_ENCODER,
group_ids: list[str] | None = None, group_ids: list[str] | None = None,
center_node_uuid: str | None = None, center_node_uuid: str | None = None,
bfs_origin_node_uuids: list[str] | None = None, bfs_origin_node_uuids: list[str] | None = None,
search_filter: SearchFilters | None = None, search_filter: SearchFilters | None = None,
) -> SearchResults: ) -> SearchResults:
"""search_ (replaces _search) is our advanced search method that returns Graph objects (nodes and edges) rather """search_ (replaces _search) is our advanced search method that returns Graph objects (nodes and edges) rather
than a list of facts. This endpoint allows the end user to utilize more advanced features such as filters and than a list of facts. This endpoint allows the end user to utilize more advanced features such as filters and