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
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
a99aad59de
Remove Episode by uuid ( #261 )
...
* add remove_episode
* delete episodes
* update
* bump version
2025-02-05 15:17:08 -05:00
Preston Rasmussen
6ef2f5e097
Date filters ( #240 )
...
* add search filters
* add search filters
* mypy
* mypy
* update filtering
* date-filters
* update
* update filter queries
* update dictionary
2025-01-28 11:52:53 -05:00
Preston Rasmussen
d3b2cecbe5
WIP add episode bulk ( #256 )
2025-01-27 09:52:15 -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
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
Preston Rasmussen
e42d3ae46c
update episode override ( #219 )
...
* update episode override
* remove unused import
2024-12-02 11:47:06 -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
3199e893ed
add_fact endpoint ( #207 )
...
* add_fact endpoint
* bump version
* add edge invalidation
* update
2024-11-06 09:12:21 -05:00
Preston Rasmussen
b8f52670ce
Bulk add nodes and edges ( #205 )
...
* test
* only use parallel runtime if set to true
* add and test bulk add
* remove group_ids
* format
* bump version
* update readme
2024-10-31 12:31:37 -04:00
Preston Rasmussen
ceb60a3d33
Cross encoder reranker in search query ( #202 )
...
* cross encoder reranker
* update reranker
* add openai reranker
* format
* mypy
* update
* updates
* MyPy typing
* bump version
2024-10-25 12:29:27 -04:00
Preston Rasmussen
194ecf5eb4
set content to empty after episode extractions have happened ( #191 )
...
* set content to empty after episode extractions have happened
* format
* bump version
2024-10-15 12:13:14 -04:00
Preston Rasmussen
6c3b32e620
make broader use of debug logs ( #187 )
2024-10-11 16:38:56 -04:00
Preston Rasmussen
49aeaf75f2
Add mmr reranking ( #180 )
...
* mmr start
* add mmr function
* normalize
* add mmr options to search
* update communities
* build communities
* format
* clean up normalization
* normalize in mmr
* update
2024-10-08 13:55:10 -04:00
Preston Rasmussen
377225eec5
add addepisode return object ( #172 )
...
* add addepisode return
* format
2024-10-03 15:39:57 -04:00
Preston Rasmussen
c8ff5be8ce
Msc benchmark update ( #173 )
...
* eval update
* I sped it up
* make format
* search updates
* updates
* cleanup
* make format
* remove unused imports
* poetry lock
2024-10-03 15:39:35 -04:00
Pavlo Paliychuk
a7148d6260
feat: Dedicated embedder interface ( #159 )
...
* feat: Add Embedder interface and implement openai embedder
* feat: Add voyage ai embedder
2024-09-27 12:47:04 -04:00
ARNO
5bd18fc7dd
feat: configurable embedding model ( #156 )
...
* feat: configurable embedding model
format
* chore: Update comment
* chore: Pass embedding model in search utils
---------
Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-09-26 13:31:22 -07:00
Preston Rasmussen
fd341a6f16
Add MSC benchmark and improve search performance ( #157 )
...
* test cases
* test
* benchmark
* eval updates
* improve search performance
* remove data
* formatting
* add None type to config
* update sanitization
* push version
* maketrans update
* mypy
2024-09-26 16:12:38 -04:00
Pavlo Paliychuk
44b016da6b
feat: async close and multi-group search support ( #151 )
...
* chore: Support a list of group_ids on search + await driver.close()
* fix: formatter and linter
* chore: Version bump
2024-09-24 16:13:04 -04:00
Preston Rasmussen
794b705664
Group id fix ( #152 )
...
* node distance and group_ids fixed
* get all with no group_id passed
* push
* push
* remove comments
* mypy
* mypy ids
* please mypy
* trust
* last one
2024-09-24 15:55:30 -04:00
Preston Rasmussen
5506a01e24
In memory label propagation community detection ( #136 )
...
* WIP
* in memory graph detection
* format
* add comments
* update readme
* fixed an issue where solo nodes would throw an error when building communities
2024-09-23 11:05:44 -04:00
Pavlo Paliychuk
2fc1b00602
feat: add FastAPI lifespan and healthcheck endpoint ( #144 )
...
* chore: Add healthcheck endpoint + build indexes and constraints on svc startup
* chore: Bring back driver close call
2024-09-23 10:12:35 -04:00
Preston Rasmussen
bfd8d3bb68
Add group_id CRUD endpoints and option store content bool ( #130 )
...
* add group_ids CRUD
* option to not store content
* ellipsis
2024-09-19 16:16:40 -04:00
Preston Rasmussen
e398f95612
Mentions reranker ( #124 )
...
* documentation update
* update communities
* mentions reranker
* fix episode edge mentions
* get episode mentions
* add communities to mentions endpoint
* rebase
* defaults episodes to empty list
* update
2024-09-18 15:44:28 -04:00
Preston Rasmussen
a18b3179ee
Add community update ( #121 )
...
* documentation update
* update communities
* update runner
* make format
* mypy
* oops
* add update_communities
2024-09-18 11:37:34 -04:00
Preston Rasmussen
d7c20c1f59
Search refactor + Community search ( #111 )
...
* WIP
* WIP
* WIP
* community search
* WIP
* WIP
* integration tested
* tests
* tests
* mypy
* mypy
* format
2024-09-16 14:03:05 -04:00
Preston Rasmussen
c0a740ff60
Community nodes ( #103 )
...
* add gds
* community work
* save progress
* community updates
* e2e communities
* troubleshooting
* updates
* communities
* remove unused import
2024-09-11 12:06:35 -04:00
Daniel Chalef
3f12254916
Fix missing default None for add_episode_bulk ( #101 )
...
Fix missing default None for add_episode and add_episode_bulk
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX ).
2024-09-09 22:12:59 -04:00
Preston Rasmussen
42fb590606
Add group ids ( #89 )
...
* set and retrieve group ids
* update add episode with group id support
* add episode and search functional
* update bulk
* mypy updates
* remove unused imports
* update unit tests
* unit tests
* add optional uuid field
* format
* mypy
* ellipsis
2024-09-06 12:33:42 -04:00
Preston Rasmussen
299021173b
Add episode refactor ( #85 )
...
* temp commit while moving
* fix name embedding bug
* invalidation
* format
* tests on runner examples
* format
* ellipsis
* ruff
* fix
* format
* minor prompt change
2024-09-05 12:05:44 -04:00
Preston Rasmussen
e56a599a72
search update ( #81 )
...
* search update
* update string literals
2024-09-04 10:05:45 -04:00
Preston Rasmussen
e9e6039b1e
Speed up add episode ( #77 )
...
* WIP
* updates
* use uuid for node dedupe
* pret-testing
* parallelized node resolution
* working add_episode
* revert to 4o
* format
* mypy update
* update types
2024-09-03 13:25:52 -04:00
Preston Rasmussen
35a4e5172b
add bulk temporal extraction and improve bulk quality and performance ( #67 )
...
* parallelize edge deduping more
* parallelize node insertion more
* improve bulk behavior performance
* dedupe nodes actually works
* add a reranker to search
* bulk dedupe episodes only across the same nodes
* add temporal extraction bulk function
* cleaned up bulk
* default to 4o
* format
* mypy
* mympy
* mypy ignore
2024-08-30 10:48:28 -04:00
Daniel Chalef
2d0705fc1b
Add get_nodes_by_query method to Graphiti class ( #49 )
...
* Add get_nodes_by_query method to Graphiti class
Add a method to the Graphiti class that wraps `get_relevant_nodes` and returns a list of nodes given a query.
* Add `get_nodes_by_query` method to the `Graphiti` class in `graphiti_core/graphiti.py`.
* Import `generate_embedding` from `graphiti_core/llm_client/utils.py`.
* Use `generate_embedding` to generate an embedding for the query.
* Call `get_relevant_nodes` with the generated embedding and return the relevant nodes.
Add an embedding function to `llm_client/utils.py`.
* Add `generate_embedding` function to `graphiti_core/llm_client/utils.py`.
* Accept an embedder and model_id as parameters.
* Generate an embedding for the given text and return it.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX ).
* address comments left by @danielchalef on #49 (Add get_nodes_by_query method to Graphiti class);
* fix ellipsis name in cla config
* feat: Add get_nodes_by_query method to Graphiti class
* chore: Cleanup unused files, add hybrid node search, add tests
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-08-26 20:00:28 -07:00
Daniel Chalef
7ca4f7fe5b
Update search method to return EntityEdge objects ( #48 )
...
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX ).
2024-08-26 17:24:35 -07:00
Preston Rasmussen
2d01e5d7b7
Search node centering ( #45 )
...
* add new search reranker and update search
* node distance reranking
* format
* rebase
* no need for enumerate
* mypy typing
* defaultdict update
* rrf prelim ranking
2024-08-26 18:34:57 -04:00
Daniel Chalef
895afc7be1
implement diskcache ( #39 )
...
* chore: Add romeo runner
* fix: Linter
* wip
* wip dump
* chore: Update romeo parser
* chore: Anthropic model fix
* wip
* allbirds
* allbirds runner
* format
* wip
* wip
* mypy updates
* update
* remove r
* update tests
* format
* wip
* chore: Strategically update the message
* rebase and fix import issues
* Update package imports for graphiti_core in examples and utils
* nits
* chore: Update OpenAI GPT-4o model to gpt-4o-2024-08-06
* implement groq
* improvments & linting
* cleanup and nits
* Refactor package imports for graphiti_core in examples and utils
* Refactor package imports for graphiti_core in examples and utils
* implement diskcache
* remove debug stuff
* log cache hit when debugging only
* Improve LLM config. Fix bugs (#41 )
Refactor LLMConfig class to allow None values for model and base_url
* chore: Resolve mc
---------
Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
2024-08-26 13:13:05 -04:00
Pavlo Paliychuk
6e8c964aef
chore: Add comments to graphiti methods ( #40 )
...
* chore: Add comments to graphiti methods
* chore: Update int test name + add header to test files
* chore: Add comments to episode type
2024-08-26 13:11:50 -04:00
Pavlo Paliychuk
0ed7739bc0
Controlled example ( #37 )
...
* chore: Add romeo runner
* fix: Linter
* dedupe fixes
* wip
* wip dump
* allbirds
* chore: Update romeo parser
* chore: Anthropic model fix
* allbirds runner
* format
* wip
* mypy updates
* update
* remove r
* update tests
* format
* wip
* wip
* wip
* chore: Strategically update the message
* chore: Add romeo runner
* fix: Linter
* wip
* wip dump
* chore: Update romeo parser
* chore: Anthropic model fix
* wip
* allbirds
* allbirds runner
* format
* wip
* wip
* mypy updates
* update
* remove r
* update tests
* format
* wip
* chore: Strategically update the message
* rebase and fix import issues
* Update package imports for graphiti_core in examples and utils
* nits
* chore: Update OpenAI GPT-4o model to gpt-4o-2024-08-06
* implement groq
* improvments & linting
* cleanup and nits
* Refactor package imports for graphiti_core in examples and utils
* Refactor package imports for graphiti_core in examples and utils
* chore: Nuke unused examples
* chore: Nuke unused examples
* chore: Only run type check on graphiti_core
* fix unit tests
* reformat
* unit test
* fix: Unit tests
* test: Add coverage for extract_date_strings_from_edge
* lint
* remove commented code
---------
Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
Co-authored-by: Daniel Chalef <131175+danielchalef@users.noreply.github.com>
2024-08-26 10:30:22 -04:00
Daniel Chalef
c5e52153c4
chore: Fix packaging ( #38 )
...
* feat: Update project name and description
The project name and description in the `pyproject.toml` file have been updated to reflect the changes made to the project.
* chore: Update pyproject.toml to include core package
The `pyproject.toml` file has been updated to include the `core` package in the list of packages. This change ensures that the `core` package is included when building the project.
* fix imports
* fix importats
2024-08-25 10:07:50 -07:00