Commit graph

78 commits

Author SHA1 Message Date
Preston Rasmussen
4198483993
improve memory leak (#478) 2025-05-12 16:32:27 -04:00
Preston Rasmussen
baebe79731
updates (#463)
* updates

* bump version
2025-05-09 15:00:08 -04:00
Preston Rasmussen
e75feff45e
pre4 (#462)
* pre4

* update

* update
2025-05-08 18:25:22 -04:00
Preston Rasmussen
89c4ee8cad
make bulk save more robust (#461)
* make bulk save more robust

* updates
2025-05-08 15:34:13 -04:00
Preston Rasmussen
a5f1f03372
Add episode fix (#460)
* fix add episode

* bump version
2025-05-08 14:04:40 -04:00
Preston Rasmussen
fd9969b5a1
Update dedupe prompt (#457)
* improve dedupe logic

* cut summary length

* update unit tests
2025-05-07 23:23:31 -04:00
prestonrasmussen
8ce9b1e157 fix bugs 2025-05-07 22:46:35 -04:00
Preston Rasmussen
1f2f1eeab5
Size optimizations (#456)
* memory optimizations for vectors

* debugged

* unused import

* Update graphiti_core/edges.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-07 20:08:30 -04:00
Preston Rasmussen
6b85e92105
Fix empty node name issues (#433)
* fixes

* fix

* remove unused imports

* format

* bump version
2025-05-02 12:16:26 -04:00
Preston Rasmussen
2ffc58b3da
small model fix (#432)
* updated dedupe nodes operations

* updates

* Update examples/podcast/podcast_transcript.txt

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* mypy

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-02 10:08:25 -04:00
Preston Rasmussen
e9e511b16d
filter out empty node names (#427)
* filter out empty node names

* Update graphiti_core/utils/maintenance/node_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-30 21:40:36 -04:00
Preston Rasmussen
c7f1db9974
source description (#424) 2025-04-30 15:18:28 -04:00
Preston Rasmussen
1193b25fa3
add_episode() refactor (#421)
* temporal updates

* update resolve nodes

* dedupe edge updates

* edge dedupe

* extract attributes

* update dynamic pydantic model

* first pass of extract node attributes

* no errors

* bug fixes

* bug fixes

* prompt updates

* prompt updates

* updates

* updates

* remove unused imports

* update tests based on changes

* remove unused import
2025-04-30 12:08:52 -04:00
Preston Rasmussen
7ee4e38616
Eval updates (#404)
* update eval

* make format

* remove unused imports

* mypy
2025-04-27 14:27:47 -04:00
Preston Rasmussen
0b94e0e603
Bulk embed (#403)
* add batch embeddings

* bulk edge and node embeddings

* update embeddings during add_episode

* Update graphiti_core/embedder/client.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* mypy

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-26 22:09:12 -04:00
Preston Rasmussen
a26b25dc06
Add episode refactor (#399)
* partial refactor

* get relevant nodes refactor

* load edges updates

* refactor triplets

* not there yet

* node search update

* working refactor

* updates

* mypy

* mypy
2025-04-26 00:24:23 -04:00
Preston Rasmussen
432d2295c6
Revert episodes (#387)
* episode search fixes and optimizations

* remove extra return string

* Update graphiti_core/utils/maintenance/graph_data_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-22 12:03:09 -04:00
Preston Rasmussen
abe43ceba4
update episode index (#384) 2025-04-21 12:38:29 -04:00
Preston Rasmussen
064d9207d2
preserve labels when deduplicating a node (#379)
* preserve labels when deduplicating a node

* entity type updates

* Update graphiti_core/utils/maintenance/node_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-20 15:14:03 -04:00
neonconsultingllc
d0b1b2e5db
Fix for using non default neo4j database (#329)
Pass database_ correctly to driver.session to fix using non default database
2025-04-18 13:06:31 -04:00
Preston Rasmussen
f578ee2177
prompt update (#378) 2025-04-18 00:09:12 -04:00
FuJiaJie123
9ca7ff6cf9
Fix bug of label_propagation (#302)
Fix bug of issue #297
2025-04-17 15:22:24 -04:00
Preston Rasmussen
5274970be3
reduce entity type attribute hallucinations (#365)
* reduce entity type attribute hallucinations

* reduce entity type attribute hallucinations

* reduce entity type attribute hallucinations

* mypy fix

* mypy fix

* mypy fix
2025-04-16 19:09:25 -04:00
Preston Rasmussen
45b15a06f2
add episode scope to search (#362)
* add episode scope to search

* bump version

* linter

* Update graphiti_core/search/search_helpers.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* mypy

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-15 19:27:56 -04:00
Daniel Chalef
0f6ac57dab
chore: update version to 0.9.3 and restructure dependencies (#338)
* Bump version from 0.9.0 to 0.9.1 in pyproject.toml and update google-genai dependency to >=0.1.0

* Bump version from 0.9.1 to 0.9.2 in pyproject.toml

* Update google-genai dependency version to >=0.8.0 in pyproject.toml

* loc file

* Update pyproject.toml to version 0.9.3, restructure dependencies, and modify author format. Remove outdated Google API key note from README.md.

* upgrade poetry and ruff
2025-04-08 20:47:38 -07:00
Daniel Chalef
9e78890f2e
Gemini support (#324)
* first cut

* Update dependencies and enhance README for optional LLM providers

- Bump aiohttp version from 3.11.14 to 3.11.16
- Update yarl version from 1.18.3 to 1.19.0
- Modify pyproject.toml to include optional extras for Anthropic, Groq, and Google Gemini
- Revise README.md to reflect new optional LLM provider installation instructions and clarify API key requirements

* Remove deprecated packages from poetry.lock and update content hash

- Removed cachetools, google-auth, google-genai, pyasn1, pyasn1-modules, rsa, and websockets from the lock file.
- Added new extras for anthropic, google-genai, and groq.
- Updated content hash to reflect changes.

* Refactor import paths for GeminiClient in README and __init__.py

- Updated import statement in README.md to reflect the new module structure for GeminiClient.
- Removed GeminiClient from the __all__ list in __init__.py as it is no longer directly imported.

* Refactor import paths for GeminiEmbedder in README and __init__.py

- Updated import statement in README.md to reflect the new module structure for GeminiEmbedder.
- Removed GeminiEmbedder and GeminiEmbedderConfig from the __all__ list in __init__.py as they are no longer directly imported.
2025-04-06 09:27:04 -07:00
Preston Rasmussen
f4dd39128c
add entity type validation handling (#320)
* add entity type validation handling

* bump version
2025-04-04 13:53:04 -04:00
Preston Rasmussen
f9aa90f612
update rate limits (#316)
* update rate limits

* default none
2025-04-02 11:43:34 -04:00
Preston Rasmussen
f536c4e948
get edges by uuids return empty list instead of errors (#308)
* get edges by uuids return empty list instead of errors

* lint

* fix null bugs

* guard rails for null summary

* supress
2025-03-27 15:00:05 -04:00
Preston Rasmussen
04203506d9
fix bug with updating node type attributes (#305)
fix bug with saving new properties
2025-03-26 12:37:48 -04:00
Preston Rasmussen
d91aaa052c
node classification failsafe - remove node labels not part of the custom ontology (#295)
* node classification failsafe

* Update graphiti_core/utils/maintenance/node_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* test update

* dict.keys update

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-18 18:32:56 -04:00
Preston Rasmussen
e83bcbb435
swap type_description to docstring (#287)
* swap type_description to docstring

* remove unused imports

* bump version

* removed unused imports
2025-03-05 15:27:03 -05:00
Preston Rasmussen
f73867e0fa
Entity classification updates (#285)
* updates

* tested

* remove unused imports

* llm outputs will be dicts rather than pydantic models

* removed unused imports
2025-03-05 12:08:11 -05:00
Preston Rasmussen
7f20b21572
Entity attributes in prompts (#284)
* add node attributes to prompts

* tested

* attribute update
2025-03-04 16:34:19 -05:00
Preston Rasmussen
a18dde36be
Catch classification exceptions (#283)
* Catch classification exceptions

* except

* Update graphiti_core/utils/maintenance/node_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-02-28 17:06:25 -05:00
Preston Rasmussen
6f874730f3
Entity classification updates (#281)
* node classification updates

* update

* remove unused code

* update
2025-02-27 15:12:50 -05:00
Preston Rasmussen
1d2417ec26
Search optimizations (#280)
fix node distance search
2025-02-27 11:51:10 -05:00
Preston Rasmussen
088029a80c
node label filters (#265)
* node label filters

* update

* add search filters

* updates

* bump versions

* update tests

* test update
2025-02-21 12:38:01 -05:00
Preston Rasmussen
29a071b2b8
Custom ontology (#262)
* ontology

* extract and save node labels

* extract entity type properties

* neo4j upgrade needed

* add entity types

* update typing

* update types

* updates

* Update graphiti_core/utils/maintenance/node_operations.py

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* fix warning

* mypy updates

* update properties

* mypy ignore

* mypy types

* bump version

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-02-13 12:17:52 -05:00
Preston Rasmussen
0e45d15462
Add triple update (#263)
* update add-triplet

* test fixes
2025-02-12 12:04:43 -05:00
Preston Rasmussen
0f50b74735
Set max tokens by prompt (#255)
* set max tokens

* update generic openai client

* mypy updates

* fix: dockerfile

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2025-01-24 10:14:49 -05:00
Preston Rasmussen
00fe87679e
Bounded semaphore - limiting concurrency (#244)
* WIP

* add semaphore

* remove unused imports

* remove unused imports

* lower concurrency limit
2024-12-17 13:08:18 -05:00
Preston Rasmussen
0186ac920c
Warn on invalid date (#242)
* warning message

* warn on invalid date parse

* valid_at
2024-12-17 11:08:11 -05:00
Daniel Chalef
445dccc021
refactor: use utc_now() for consistent UTC datetime handling (#234)
* ensure utc timezones

* fix: dep cycle

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-12-09 10:36:04 -08:00
Daniel Chalef
567a8ab74a
Implement OpenAI Structured Output (#225)
* implement so

* bug fixes and typing

* inject schema for non-openai clients

* correct datetime format

* remove List keyword

* Refactor node_operations.py to use updated prompt_library functions

* update example
2024-12-05 07:03:18 -08:00
Preston Rasmussen
0fbe5c0704
Pagination for get by group_id (#218)
* add pagination to subgraphs

* update pagination

* update LiteralString import

* cleanup

* cleanup

* update embedding dims
2024-12-02 11:17:37 -05:00
Preston Rasmussen
281fe072cb
add fulltext search limit (#215)
* add fulltext search limit

* format

* update

* update

* update tests

* remove unused imports

* format

* mypy
2024-11-14 12:18:18 -05:00
Preston Rasmussen
a8a73ec38b
Add episode latency improvements (#214)
* reformat prompts

* update prompts

* update

* update

* update

* update

* update

* mypy
2024-11-13 20:13:06 -05:00
Preston Rasmussen
eba9f40ca2
add reflexion (#212)
* add reflexion

* clean up boolean logic

* update conditional

* cap reflexion iterations

* don't do an extra reflection step
2024-11-13 11:58:56 -05:00
Preston Rasmussen
3199e893ed
add_fact endpoint (#207)
* add_fact endpoint

* bump version

* add edge invalidation

* update
2024-11-06 09:12:21 -05:00