graphiti-core 0.7.8__tar.gz → 0.7.9__tar.gz
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-0.7.8 → graphiti_core-0.7.9}/PKG-INFO +1 -1
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/graphiti.py +2 -2
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/nodes.py +1 -7
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/node_operations.py +8 -6
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/pyproject.toml +1 -1
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/LICENSE +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/README.md +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/edges.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/embedder/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/embedder/client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/embedder/openai.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/embedder/voyage.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/errors.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/helpers.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/anthropic_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/config.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/errors.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/groq_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/openai_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/openai_generic_client.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/utils.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/models/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/models/edges/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/models/edges/edge_db_queries.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/models/nodes/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/models/nodes/node_db_queries.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/dedupe_edges.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/dedupe_nodes.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/eval.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/extract_edge_dates.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/extract_edges.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/extract_nodes.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/invalidate_edges.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/lib.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/models.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/prompt_helpers.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/prompts/summarize_nodes.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/py.typed +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/search.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/search_config.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/search_config_recipes.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/search_filters.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/search/search_utils.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/bulk_utils.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/datetime_utils.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/__init__.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/community_operations.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
- {graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/utils.py +0 -0
|
@@ -29,7 +29,7 @@ from graphiti_core.edges import EntityEdge, EpisodicEdge
|
|
|
29
29
|
from graphiti_core.embedder import EmbedderClient, OpenAIEmbedder
|
|
30
30
|
from graphiti_core.helpers import DEFAULT_DATABASE, semaphore_gather
|
|
31
31
|
from graphiti_core.llm_client import LLMClient, OpenAIClient
|
|
32
|
-
from graphiti_core.nodes import CommunityNode, EntityNode,
|
|
32
|
+
from graphiti_core.nodes import CommunityNode, EntityNode, EpisodeType, EpisodicNode
|
|
33
33
|
from graphiti_core.search.search import SearchConfig, search
|
|
34
34
|
from graphiti_core.search.search_config import DEFAULT_SEARCH_LIMIT, SearchResults
|
|
35
35
|
from graphiti_core.search.search_config_recipes import (
|
|
@@ -262,7 +262,7 @@ class Graphiti:
|
|
|
262
262
|
group_id: str = '',
|
|
263
263
|
uuid: str | None = None,
|
|
264
264
|
update_communities: bool = False,
|
|
265
|
-
entity_types: dict[str,
|
|
265
|
+
entity_types: dict[str, BaseModel] | None = None,
|
|
266
266
|
) -> AddEpisodeResults:
|
|
267
267
|
"""
|
|
268
268
|
Process an episode and update the graph.
|
|
@@ -19,7 +19,7 @@ from abc import ABC, abstractmethod
|
|
|
19
19
|
from datetime import datetime
|
|
20
20
|
from enum import Enum
|
|
21
21
|
from time import time
|
|
22
|
-
from typing import Any
|
|
22
|
+
from typing import Any
|
|
23
23
|
from uuid import uuid4
|
|
24
24
|
|
|
25
25
|
from neo4j import AsyncDriver
|
|
@@ -39,12 +39,6 @@ from graphiti_core.utils.datetime_utils import utc_now
|
|
|
39
39
|
logger = logging.getLogger(__name__)
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
class EntityType(BaseModel):
|
|
43
|
-
type_description: ClassVar[str] = Field(
|
|
44
|
-
default='', description='Description of what the entity type represents'
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
|
|
48
42
|
class EpisodeType(Enum):
|
|
49
43
|
"""
|
|
50
44
|
Enumeration of different types of episodes that can be processed.
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/node_operations.py
RENAMED
|
@@ -18,10 +18,11 @@ import logging
|
|
|
18
18
|
from time import time
|
|
19
19
|
|
|
20
20
|
import pydantic
|
|
21
|
+
from pydantic import BaseModel
|
|
21
22
|
|
|
22
23
|
from graphiti_core.helpers import MAX_REFLEXION_ITERATIONS, semaphore_gather
|
|
23
24
|
from graphiti_core.llm_client import LLMClient
|
|
24
|
-
from graphiti_core.nodes import EntityNode,
|
|
25
|
+
from graphiti_core.nodes import EntityNode, EpisodeType, EpisodicNode
|
|
25
26
|
from graphiti_core.prompts import prompt_library
|
|
26
27
|
from graphiti_core.prompts.dedupe_nodes import NodeDuplicate
|
|
27
28
|
from graphiti_core.prompts.extract_nodes import (
|
|
@@ -120,7 +121,7 @@ async def extract_nodes(
|
|
|
120
121
|
llm_client: LLMClient,
|
|
121
122
|
episode: EpisodicNode,
|
|
122
123
|
previous_episodes: list[EpisodicNode],
|
|
123
|
-
entity_types: dict[str,
|
|
124
|
+
entity_types: dict[str, BaseModel] | None = None,
|
|
124
125
|
) -> list[EntityNode]:
|
|
125
126
|
start = time()
|
|
126
127
|
extracted_node_names: list[str] = []
|
|
@@ -156,7 +157,8 @@ async def extract_nodes(
|
|
|
156
157
|
'previous_episodes': [ep.content for ep in previous_episodes],
|
|
157
158
|
'extracted_entities': extracted_node_names,
|
|
158
159
|
'entity_types': {
|
|
159
|
-
type_name: values.
|
|
160
|
+
type_name: values.model_json_schema().get('description')
|
|
161
|
+
for type_name, values in entity_types.items()
|
|
160
162
|
}
|
|
161
163
|
if entity_types is not None
|
|
162
164
|
else {},
|
|
@@ -262,7 +264,7 @@ async def resolve_extracted_nodes(
|
|
|
262
264
|
existing_nodes_lists: list[list[EntityNode]],
|
|
263
265
|
episode: EpisodicNode | None = None,
|
|
264
266
|
previous_episodes: list[EpisodicNode] | None = None,
|
|
265
|
-
entity_types: dict[str,
|
|
267
|
+
entity_types: dict[str, BaseModel] | None = None,
|
|
266
268
|
) -> tuple[list[EntityNode], dict[str, str]]:
|
|
267
269
|
uuid_map: dict[str, str] = {}
|
|
268
270
|
resolved_nodes: list[EntityNode] = []
|
|
@@ -295,7 +297,7 @@ async def resolve_extracted_node(
|
|
|
295
297
|
existing_nodes: list[EntityNode],
|
|
296
298
|
episode: EpisodicNode | None = None,
|
|
297
299
|
previous_episodes: list[EpisodicNode] | None = None,
|
|
298
|
-
entity_types: dict[str,
|
|
300
|
+
entity_types: dict[str, BaseModel] | None = None,
|
|
299
301
|
) -> tuple[EntityNode, dict[str, str]]:
|
|
300
302
|
start = time()
|
|
301
303
|
|
|
@@ -330,7 +332,7 @@ async def resolve_extracted_node(
|
|
|
330
332
|
'attributes': [],
|
|
331
333
|
}
|
|
332
334
|
|
|
333
|
-
entity_type_classes: tuple[
|
|
335
|
+
entity_type_classes: tuple[BaseModel, ...] = tuple()
|
|
334
336
|
if entity_types is not None: # type: ignore
|
|
335
337
|
entity_type_classes = entity_type_classes + tuple(
|
|
336
338
|
filter(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/bge_reranker_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/cross_encoder/openai_reranker_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/llm_client/openai_generic_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/community_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/edge_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/graph_data_operations.py
RENAMED
|
File without changes
|
{graphiti_core-0.7.8 → graphiti_core-0.7.9}/graphiti_core/utils/maintenance/temporal_operations.py
RENAMED
|
File without changes
|
|
File without changes
|