graphiti-core 0.7.1__py3-none-any.whl → 0.7.3__py3-none-any.whl
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/nodes.py +10 -1
- graphiti_core/search/search_utils.py +3 -3
- {graphiti_core-0.7.1.dist-info → graphiti_core-0.7.3.dist-info}/METADATA +18 -14
- {graphiti_core-0.7.1.dist-info → graphiti_core-0.7.3.dist-info}/RECORD +6 -6
- {graphiti_core-0.7.1.dist-info → graphiti_core-0.7.3.dist-info}/LICENSE +0 -0
- {graphiti_core-0.7.1.dist-info → graphiti_core-0.7.3.dist-info}/WHEEL +0 -0
graphiti_core/nodes.py
CHANGED
|
@@ -514,7 +514,7 @@ def get_episodic_node_from_record(record: Any) -> EpisodicNode:
|
|
|
514
514
|
|
|
515
515
|
|
|
516
516
|
def get_entity_node_from_record(record: Any) -> EntityNode:
|
|
517
|
-
|
|
517
|
+
entity_node = EntityNode(
|
|
518
518
|
uuid=record['uuid'],
|
|
519
519
|
name=record['name'],
|
|
520
520
|
group_id=record['group_id'],
|
|
@@ -525,6 +525,15 @@ def get_entity_node_from_record(record: Any) -> EntityNode:
|
|
|
525
525
|
attributes=record['attributes'],
|
|
526
526
|
)
|
|
527
527
|
|
|
528
|
+
del entity_node.attributes['uuid']
|
|
529
|
+
del entity_node.attributes['name']
|
|
530
|
+
del entity_node.attributes['group_id']
|
|
531
|
+
del entity_node.attributes['name_embedding']
|
|
532
|
+
del entity_node.attributes['summary']
|
|
533
|
+
del entity_node.attributes['created_at']
|
|
534
|
+
|
|
535
|
+
return entity_node
|
|
536
|
+
|
|
528
537
|
|
|
529
538
|
def get_community_node_from_record(record: Any) -> CommunityNode:
|
|
530
539
|
return CommunityNode(
|
|
@@ -158,7 +158,7 @@ async def edge_fulltext_search(
|
|
|
158
158
|
"""
|
|
159
159
|
CALL db.index.fulltext.queryRelationships("edge_name_and_fact", $query, {limit: $limit})
|
|
160
160
|
YIELD relationship AS rel, score
|
|
161
|
-
MATCH (:
|
|
161
|
+
MATCH (:Entity)-[r:RELATES_TO]->(:Entity)
|
|
162
162
|
WHERE r.group_id IN $group_ids"""
|
|
163
163
|
+ filter_query
|
|
164
164
|
+ """\nWITH r, score, startNode(r) AS n, endNode(r) AS m
|
|
@@ -229,8 +229,8 @@ async def edge_similarity_search(
|
|
|
229
229
|
|
|
230
230
|
query: LiteralString = (
|
|
231
231
|
"""
|
|
232
|
-
|
|
233
|
-
|
|
232
|
+
MATCH (n:Entity)-[r:RELATES_TO]->(m:Entity)
|
|
233
|
+
"""
|
|
234
234
|
+ group_filter_query
|
|
235
235
|
+ filter_query
|
|
236
236
|
+ """\nWITH DISTINCT r, vector.similarity.cosine(r.fact_embedding, $search_vector) AS score
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: graphiti-core
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
4
4
|
Summary: A temporal graph building library
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Author: Paul Paliychuk
|
|
@@ -20,12 +20,16 @@ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
|
20
20
|
Requires-Dist: tenacity (==9.0.0)
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
<p align="center">
|
|
24
|
+
<a href="https://www.getzep.com/">
|
|
25
|
+
<img src="https://github.com/user-attachments/assets/119c5682-9654-4257-8922-56b7cb8ffd73" width="150" alt="Zep Logo">
|
|
26
|
+
</a>
|
|
27
|
+
</p>
|
|
28
28
|
|
|
29
|
+
<h1 align="center">
|
|
30
|
+
Graphiti
|
|
31
|
+
</h1>
|
|
32
|
+
<h2 align="center"> Temporal Knowledge Graphs for Agentic Applications</h2>
|
|
29
33
|
<br />
|
|
30
34
|
|
|
31
35
|
[](https://discord.com/invite/W8Kw6bsgXQ)
|
|
@@ -34,10 +38,9 @@ Description-Content-Type: text/markdown
|
|
|
34
38
|
[](https://github.com/getzep/Graphiti/actions/workflows/typecheck.yml)
|
|
35
39
|
[](https://codespaces.new/getzep/Graphiti)
|
|
36
40
|
|
|
41
|
+
:star: *Help us reach more developers and grow the Graphiti community. Star this repo!*
|
|
37
42
|
<br />
|
|
38
43
|
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
44
|
Graphiti builds dynamic, temporally aware Knowledge Graphs that represent complex, evolving relationships between
|
|
42
45
|
entities over time. Graphiti ingests both unstructured and structured data, and the resulting graph may be queried using
|
|
43
46
|
a fusion of time, full-text, semantic, and graph algorithm approaches.
|
|
@@ -69,7 +72,8 @@ recall and state-based reasoning for both assistants and agents.
|
|
|
69
72
|
|
|
70
73
|
Graphiti powers the core of [Zep's memory layer](https://www.getzep.com) for LLM-powered Assistants and Agents.
|
|
71
74
|
|
|
72
|
-
Using Graphiti, we've demonstrated Zep is
|
|
75
|
+
Using Graphiti, we've demonstrated Zep is
|
|
76
|
+
the [State of the Art in Agent Memory](https://blog.getzep.com/state-of-the-art-agent-memory/).
|
|
73
77
|
|
|
74
78
|
Read our paper: [Zep: A Temporal Knowledge Graph Architecture for Agent Memory](https://arxiv.org/abs/2501.13956).
|
|
75
79
|
|
|
@@ -108,7 +112,7 @@ scale:
|
|
|
108
112
|
Requirements:
|
|
109
113
|
|
|
110
114
|
- Python 3.10 or higher
|
|
111
|
-
- Neo4j 5.
|
|
115
|
+
- Neo4j 5.26 or higher
|
|
112
116
|
- OpenAI API key (for LLM inference and embedding)
|
|
113
117
|
|
|
114
118
|
Optional:
|
|
@@ -133,7 +137,8 @@ poetry add graphiti-core
|
|
|
133
137
|
|
|
134
138
|
> [!IMPORTANT]
|
|
135
139
|
> Graphiti uses OpenAI for LLM inference and embedding. Ensure that an `OPENAI_API_KEY` is set in your environment.
|
|
136
|
-
> Support for Anthropic and Groq LLM inferences is available, too. Other LLM providers may be supported via OpenAI
|
|
140
|
+
> Support for Anthropic and Groq LLM inferences is available, too. Other LLM providers may be supported via OpenAI
|
|
141
|
+
> compatible APIs.
|
|
137
142
|
|
|
138
143
|
```python
|
|
139
144
|
from graphiti_core import Graphiti
|
|
@@ -198,7 +203,6 @@ graphiti.close()
|
|
|
198
203
|
```
|
|
199
204
|
|
|
200
205
|
## Graph Service
|
|
201
|
-
|
|
202
206
|
The `server` directory contains an API service for interacting with the Graphiti API. It is built using FastAPI.
|
|
203
207
|
|
|
204
208
|
Please see the [server README](./server/README.md) for more information.
|
|
@@ -225,8 +229,8 @@ as such this feature is off by default.
|
|
|
225
229
|
Graphiti is under active development. We aim to maintain API stability while working on:
|
|
226
230
|
|
|
227
231
|
- [ ] Supporting custom graph schemas:
|
|
228
|
-
|
|
229
|
-
|
|
232
|
+
- Allow developers to provide their own defined node and edge classes when ingesting episodes
|
|
233
|
+
- Enable more flexible knowledge representation tailored to specific use cases
|
|
230
234
|
- [x] Enhancing retrieval capabilities with more robust and configurable options
|
|
231
235
|
- [ ] Expanding test coverage to ensure reliability and catch edge cases
|
|
232
236
|
|
|
@@ -25,7 +25,7 @@ graphiti_core/models/edges/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
25
25
|
graphiti_core/models/edges/edge_db_queries.py,sha256=2UoLkmazO-FJYqjc3g0LuL-pyjekzQxxed_XHVv_HZE,2671
|
|
26
26
|
graphiti_core/models/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
graphiti_core/models/nodes/node_db_queries.py,sha256=f4_UT6XL8UDt4_CO9YIHeI8pvpw_vrutA9SYrgi6QCU,2121
|
|
28
|
-
graphiti_core/nodes.py,sha256=
|
|
28
|
+
graphiti_core/nodes.py,sha256=0lH8SOpnzTtNIvG4ScnJ3SeQudviCsZwsnM867kY1aI,16998
|
|
29
29
|
graphiti_core/prompts/__init__.py,sha256=EA-x9xUki9l8wnu2l8ek_oNf75-do5tq5hVq7Zbv8Kw,101
|
|
30
30
|
graphiti_core/prompts/dedupe_edges.py,sha256=EuX8ngeItBzrlMBOgeHrpExzxIFHD2aoDyaX1ZniF6I,3556
|
|
31
31
|
graphiti_core/prompts/dedupe_nodes.py,sha256=mqvNATL-4Vo33vaxUEZfOq6hXXOiL-ftY0zcx2G-82I,4624
|
|
@@ -44,7 +44,7 @@ graphiti_core/search/search.py,sha256=DX-tcIa0SiKI2HX-b_WdjGE74A8RLWQor4p90dJluU
|
|
|
44
44
|
graphiti_core/search/search_config.py,sha256=UZN8jFA4pBlw2O5N1cuhVRBdTwMLR9N3Oyo6sQ4MDVw,3117
|
|
45
45
|
graphiti_core/search/search_config_recipes.py,sha256=yUqiLnn9vFg39M8eVwjVKfBCL_ptGrfDMQ47m_Blb0g,6885
|
|
46
46
|
graphiti_core/search/search_filters.py,sha256=4MJmCXD-blMc71xB4F9K4a72qidDCigADQ_ztdG15kc,5884
|
|
47
|
-
graphiti_core/search/search_utils.py,sha256=
|
|
47
|
+
graphiti_core/search/search_utils.py,sha256=mZqq97XEjTga3pz50l__b8qVFVPRes1dNGB8tZktJ3A,25665
|
|
48
48
|
graphiti_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
49
|
graphiti_core/utils/bulk_utils.py,sha256=P4LKO46Yle4tBdNcQ3hDHcSQFaR8UBLfoL-z1M2Wua0,14690
|
|
50
50
|
graphiti_core/utils/datetime_utils.py,sha256=Ti-2tnrDFRzBsbfblzsHybsM3jaDLP4-VT2t0VhpIzU,1357
|
|
@@ -55,7 +55,7 @@ graphiti_core/utils/maintenance/graph_data_operations.py,sha256=qds9ALk9PhpQs1CN
|
|
|
55
55
|
graphiti_core/utils/maintenance/node_operations.py,sha256=gihbPEBH6StLQCSd9wSu582d4Owaw3l5JLR1IBDrnVs,14137
|
|
56
56
|
graphiti_core/utils/maintenance/temporal_operations.py,sha256=RdNtubCyYhOVrvcOIq2WppHls1Q-BEjtsN8r38l-Rtc,3691
|
|
57
57
|
graphiti_core/utils/maintenance/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
-
graphiti_core-0.7.
|
|
59
|
-
graphiti_core-0.7.
|
|
60
|
-
graphiti_core-0.7.
|
|
61
|
-
graphiti_core-0.7.
|
|
58
|
+
graphiti_core-0.7.3.dist-info/LICENSE,sha256=KCUwCyDXuVEgmDWkozHyniRyWjnWUWjkuDHfU6o3JlA,11325
|
|
59
|
+
graphiti_core-0.7.3.dist-info/METADATA,sha256=CA2-V0qWnuIo_sQecfWTQQJ-9GLb8lMvMd5FqbUVFPQ,10541
|
|
60
|
+
graphiti_core-0.7.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
61
|
+
graphiti_core-0.7.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|