graphiti-core 0.12.0rc2__tar.gz → 0.12.0rc4__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.

Files changed (66) hide show
  1. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/PKG-INFO +11 -3
  2. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/README.md +9 -1
  3. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search_filters.py +10 -12
  4. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/pyproject.toml +2 -2
  5. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/LICENSE +0 -0
  6. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/__init__.py +0 -0
  7. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/cross_encoder/__init__.py +0 -0
  8. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/cross_encoder/bge_reranker_client.py +0 -0
  9. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/cross_encoder/client.py +0 -0
  10. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/cross_encoder/openai_reranker_client.py +0 -0
  11. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/edges.py +0 -0
  12. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/embedder/__init__.py +0 -0
  13. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/embedder/client.py +0 -0
  14. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/embedder/gemini.py +0 -0
  15. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/embedder/openai.py +0 -0
  16. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/embedder/voyage.py +0 -0
  17. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/errors.py +0 -0
  18. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/graphiti.py +0 -0
  19. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/graphiti_types.py +0 -0
  20. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/helpers.py +0 -0
  21. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/__init__.py +0 -0
  22. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/anthropic_client.py +0 -0
  23. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/client.py +0 -0
  24. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/config.py +0 -0
  25. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/errors.py +0 -0
  26. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/gemini_client.py +0 -0
  27. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/groq_client.py +0 -0
  28. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/openai_client.py +0 -0
  29. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/openai_generic_client.py +0 -0
  30. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/llm_client/utils.py +0 -0
  31. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/models/__init__.py +0 -0
  32. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/models/edges/__init__.py +0 -0
  33. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/models/edges/edge_db_queries.py +0 -0
  34. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/models/nodes/__init__.py +0 -0
  35. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/models/nodes/node_db_queries.py +0 -0
  36. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/nodes.py +0 -0
  37. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/__init__.py +0 -0
  38. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/dedupe_edges.py +0 -0
  39. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/dedupe_nodes.py +0 -0
  40. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/eval.py +0 -0
  41. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/extract_edge_dates.py +0 -0
  42. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/extract_edges.py +0 -0
  43. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/extract_nodes.py +0 -0
  44. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/invalidate_edges.py +0 -0
  45. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/lib.py +0 -0
  46. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/models.py +0 -0
  47. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/prompt_helpers.py +0 -0
  48. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/prompts/summarize_nodes.py +0 -0
  49. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/py.typed +0 -0
  50. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/__init__.py +0 -0
  51. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search.py +0 -0
  52. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search_config.py +0 -0
  53. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search_config_recipes.py +0 -0
  54. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search_helpers.py +0 -0
  55. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/search/search_utils.py +0 -0
  56. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/__init__.py +0 -0
  57. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/bulk_utils.py +0 -0
  58. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/datetime_utils.py +0 -0
  59. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/__init__.py +0 -0
  60. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/community_operations.py +0 -0
  61. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/edge_operations.py +0 -0
  62. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/graph_data_operations.py +0 -0
  63. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/node_operations.py +0 -0
  64. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/temporal_operations.py +0 -0
  65. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/maintenance/utils.py +0 -0
  66. {graphiti_core-0.12.0rc2 → graphiti_core-0.12.0rc4}/graphiti_core/utils/ontology_utils/entity_types_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: graphiti-core
3
- Version: 0.12.0rc2
3
+ Version: 0.12.0rc4
4
4
  Summary: A temporal graph building library
5
5
  License: Apache-2.0
6
6
  Author: Paul Paliychuk
@@ -22,7 +22,7 @@ Requires-Dist: groq (>=0.2.0) ; extra == "groq"
22
22
  Requires-Dist: neo4j (>=5.23.0)
23
23
  Requires-Dist: numpy (>=1.0.0)
24
24
  Requires-Dist: openai (>=1.53.0)
25
- Requires-Dist: pydantic (>=2.8.2)
25
+ Requires-Dist: pydantic (>=2.11.5)
26
26
  Requires-Dist: python-dotenv (>=1.0.1)
27
27
  Requires-Dist: tenacity (>=9.0.0)
28
28
  Project-URL: Homepage, https://help.getzep.com/graphiti/graphiti/overview
@@ -236,7 +236,7 @@ Graphiti supports Azure OpenAI for both LLM inference and embeddings. To use Azu
236
236
  ```python
237
237
  from openai import AsyncAzureOpenAI
238
238
  from graphiti_core import Graphiti
239
- from graphiti_core.llm_client import OpenAIClient
239
+ from graphiti_core.llm_client import LLMConfig, OpenAIClient
240
240
  from graphiti_core.embedder.openai import OpenAIEmbedder, OpenAIEmbedderConfig
241
241
  from graphiti_core.cross_encoder.openai_reranker_client import OpenAIRerankerClient
242
242
 
@@ -252,12 +252,19 @@ azure_openai_client = AsyncAzureOpenAI(
252
252
  azure_endpoint=azure_endpoint
253
253
  )
254
254
 
255
+ # Create LLM Config with your Azure deployed model names
256
+ azure_llm_config = LLMConfig(
257
+ small_model="gpt-4.1-nano",
258
+ model="gpt-4.1-mini",
259
+ )
260
+
255
261
  # Initialize Graphiti with Azure OpenAI clients
256
262
  graphiti = Graphiti(
257
263
  "bolt://localhost:7687",
258
264
  "neo4j",
259
265
  "password",
260
266
  llm_client=OpenAIClient(
267
+ llm_config=azure_llm_config,
261
268
  client=azure_openai_client
262
269
  ),
263
270
  embedder=OpenAIEmbedder(
@@ -268,6 +275,7 @@ graphiti = Graphiti(
268
275
  ),
269
276
  # Optional: Configure the OpenAI cross encoder with Azure OpenAI
270
277
  cross_encoder=OpenAIRerankerClient(
278
+ llm_config=azure_llm_config,
271
279
  client=azure_openai_client
272
280
  )
273
281
  )
@@ -205,7 +205,7 @@ Graphiti supports Azure OpenAI for both LLM inference and embeddings. To use Azu
205
205
  ```python
206
206
  from openai import AsyncAzureOpenAI
207
207
  from graphiti_core import Graphiti
208
- from graphiti_core.llm_client import OpenAIClient
208
+ from graphiti_core.llm_client import LLMConfig, OpenAIClient
209
209
  from graphiti_core.embedder.openai import OpenAIEmbedder, OpenAIEmbedderConfig
210
210
  from graphiti_core.cross_encoder.openai_reranker_client import OpenAIRerankerClient
211
211
 
@@ -221,12 +221,19 @@ azure_openai_client = AsyncAzureOpenAI(
221
221
  azure_endpoint=azure_endpoint
222
222
  )
223
223
 
224
+ # Create LLM Config with your Azure deployed model names
225
+ azure_llm_config = LLMConfig(
226
+ small_model="gpt-4.1-nano",
227
+ model="gpt-4.1-mini",
228
+ )
229
+
224
230
  # Initialize Graphiti with Azure OpenAI clients
225
231
  graphiti = Graphiti(
226
232
  "bolt://localhost:7687",
227
233
  "neo4j",
228
234
  "password",
229
235
  llm_client=OpenAIClient(
236
+ llm_config=azure_llm_config,
230
237
  client=azure_openai_client
231
238
  ),
232
239
  embedder=OpenAIEmbedder(
@@ -237,6 +244,7 @@ graphiti = Graphiti(
237
244
  ),
238
245
  # Optional: Configure the OpenAI cross encoder with Azure OpenAI
239
246
  cross_encoder=OpenAIRerankerClient(
247
+ llm_config=azure_llm_config,
240
248
  client=azure_openai_client
241
249
  )
242
250
  )
@@ -21,8 +21,6 @@ from typing import Any
21
21
  from pydantic import BaseModel, Field
22
22
  from typing_extensions import LiteralString
23
23
 
24
- from graphiti_core.helpers import lucene_sanitize
25
-
26
24
 
27
25
  class ComparisonOperator(Enum):
28
26
  equals = '='
@@ -60,7 +58,7 @@ def node_search_filter_query_constructor(
60
58
  filter_params: dict[str, Any] = {}
61
59
 
62
60
  if filters.node_labels is not None:
63
- node_labels = '|'.join(list(map(lucene_sanitize, filters.node_labels)))
61
+ node_labels = '|'.join(filters.node_labels)
64
62
  node_label_filter = ' AND n:' + node_labels
65
63
  filter_query += node_label_filter
66
64
 
@@ -80,7 +78,7 @@ def edge_search_filter_query_constructor(
80
78
  filter_params['edge_types'] = edge_types
81
79
 
82
80
  if filters.node_labels is not None:
83
- node_labels = '|'.join(list(map(lucene_sanitize, filters.node_labels)))
81
+ node_labels = '|'.join(filters.node_labels)
84
82
  node_label_filter = '\nAND n:' + node_labels + ' AND m:' + node_labels
85
83
  filter_query += node_label_filter
86
84
 
@@ -97,12 +95,12 @@ def edge_search_filter_query_constructor(
97
95
  and_filter_query = ''
98
96
  for j, and_filter in enumerate(and_filters):
99
97
  and_filter_query += and_filter
100
- if j != len(and_filter_query) - 1:
98
+ if j != len(and_filters) - 1:
101
99
  and_filter_query += ' AND '
102
100
 
103
101
  valid_at_filter += and_filter_query
104
102
 
105
- if i == len(or_list) - 1:
103
+ if i == len(filters.valid_at) - 1:
106
104
  valid_at_filter += ')'
107
105
  else:
108
106
  valid_at_filter += ' OR '
@@ -122,12 +120,12 @@ def edge_search_filter_query_constructor(
122
120
  and_filter_query = ''
123
121
  for j, and_filter in enumerate(and_filters):
124
122
  and_filter_query += and_filter
125
- if j != len(and_filter_query) - 1:
123
+ if j != len(and_filters) - 1:
126
124
  and_filter_query += ' AND '
127
125
 
128
126
  invalid_at_filter += and_filter_query
129
127
 
130
- if i == len(or_list) - 1:
128
+ if i == len(filters.invalid_at) - 1:
131
129
  invalid_at_filter += ')'
132
130
  else:
133
131
  invalid_at_filter += ' OR '
@@ -147,12 +145,12 @@ def edge_search_filter_query_constructor(
147
145
  and_filter_query = ''
148
146
  for j, and_filter in enumerate(and_filters):
149
147
  and_filter_query += and_filter
150
- if j != len(and_filter_query) - 1:
148
+ if j != len(and_filters) - 1:
151
149
  and_filter_query += ' AND '
152
150
 
153
151
  created_at_filter += and_filter_query
154
152
 
155
- if i == len(or_list) - 1:
153
+ if i == len(filters.created_at) - 1:
156
154
  created_at_filter += ')'
157
155
  else:
158
156
  created_at_filter += ' OR '
@@ -172,12 +170,12 @@ def edge_search_filter_query_constructor(
172
170
  and_filter_query = ''
173
171
  for j, and_filter in enumerate(and_filters):
174
172
  and_filter_query += and_filter
175
- if j != len(and_filter_query) - 1:
173
+ if j != len(and_filters) - 1:
176
174
  and_filter_query += ' AND '
177
175
 
178
176
  expired_at_filter += and_filter_query
179
177
 
180
- if i == len(or_list) - 1:
178
+ if i == len(filters.expired_at) - 1:
181
179
  expired_at_filter += ')'
182
180
  else:
183
181
  expired_at_filter += ' OR '
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "graphiti-core"
3
3
  description = "A temporal graph building library"
4
- version = "0.12.0pre2"
4
+ version = "0.12.0pre4"
5
5
  authors = [
6
6
  { "name" = "Paul Paliychuk", "email" = "paul@getzep.com" },
7
7
  { "name" = "Preston Rasmussen", "email" = "preston@getzep.com" },
@@ -12,7 +12,7 @@ license = "Apache-2.0"
12
12
  requires-python = ">=3.10,<4"
13
13
  packages = [{ include = "graphiti_core", from = "." }]
14
14
  dependencies = [
15
- "pydantic>=2.8.2",
15
+ "pydantic>=2.11.5",
16
16
  "neo4j>=5.23.0",
17
17
  "diskcache>=5.6.3",
18
18
  "openai>=1.53.0",