Preston Rasmussen
ebee09b335
Edge extraction and Node Deduplication updates ( #564 )
...
* update tests
* updated fact extraction
* optimize node deduplication
* linting
* Update graphiti_core/utils/maintenance/edge_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-06-06 12:28:52 -04:00
TheEpTic
735b020624
BUG FIX: Fix trailing AND in edge_search_filter_query_constructor Cypher query ( #541 )
...
Fix trailing AND in edge_search_filter_query_constructor Cypher query
Corrected the edge_search_filter_query_constructor function to prevent
trailing AND operators in generated Cypher queries, which caused
Neo.ClientError.Statement.SyntaxError. Changed condition from
`j != len(and_filter_query) - 1` to `j != len(and_filters) - 1` for
valid_at, invalid_at, created_at, and expired_at filter blocks. Also
fixed outer loop condition to use `len(filters.<field>)` instead of
`len(or_list)`. Ensures valid Cypher syntax for single DateFilter cases.
Co-authored-by: TheEpTic <326774+TheEpTic@users.noreply.github.com>
2025-05-29 12:55:16 -04:00
Preston Rasmussen
1eea232ef1
remove sanitize ( #540 )
...
* remove sanitize
* format
2025-05-28 19:34:44 -04:00
Preston Rasmussen
a9a6ee6bf0
edge operations update ( #539 )
...
* edge operations update
* bump version
* edge name
* update
2025-05-28 16:33:20 -04:00
Preston Rasmussen
5fe2f588a6
Edge type search ( #537 )
...
* add filters
* search filter
* Update graphiti_core/search/search_utils.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-27 13:16:28 -04:00
Pavlo Paliychuk
b295f57e78
fix: update key name in edge attributes context ( #531 )
2025-05-27 09:58:51 -04:00
Daniel Chalef
1b54b45144
Improve error handling in GeminiEmbedder by raising ValueError for empty embedding values. This change enhances robustness by ensuring that all returned embeddings contain valid data. ( #515 )
2025-05-21 20:32:18 -07:00
Daniel Chalef
9ab8abf9b4
MCP Fixes ( #512 )
...
* Refactor group_id handling and update dependencies
- Changed default behavior for `group_id` to 'default' instead of generating a UUID.
- Updated README to reflect the new default behavior for `--group-id`.
- Reformatted LLMConfig initialization for better readability.
- Bumped versions of several dependencies including `azure-core`, `azure-identity`, `certifi`, `charset-normalizer`, `sse-starlette`, and `typing-inspection`.
- Added `python-multipart` as a new dependency.
This update improves usability and ensures compatibility with the latest library versions.
* Update Graphiti MCP server instructions and refactor method names for clarity
- Revised the welcome message to enhance clarity about Graphiti's functionality.
- Renamed methods for better understanding: `add_episode` to `add_memory`, `search_nodes` to `search_memory_nodes`, `search_facts` to `search_memory_facts`, and updated related docstrings to reflect these changes.
- Updated references to "knowledge graph" to "graph memory" for consistency throughout the codebase.
* Update README for Graphiti MCP server configuration and integration with Claude Desktop
- Changed server name from "graphiti" to "graphiti-memory" in configuration examples for clarity.
- Added instructions for running the Graphiti MCP server using Docker.
- Included detailed steps for integrating Claude Desktop with the Graphiti MCP server, including optional installation of `mcp-remote`.
- Enhanced overall documentation to improve user experience and understanding of the setup process.
* Enhance error handling in GeminiEmbedder and GeminiClient
- Added checks to raise exceptions when no embeddings or response text are returned, improving robustness.
- Included type ignore comments for mypy compatibility in embed_content calls.
* Update graphiti_core/embedder/gemini.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update graphiti_core/llm_client/gemini_client.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-21 19:39:41 -07:00
Preston Rasmussen
db7595fe63
Edge types ( #501 )
...
* update entity edge attributes
* Adding prompts
* extract fact attributes
* edge types
* edge types no regressions
* mypy
* mypy update
* Update graphiti_core/prompts/dedupe_edges.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update graphiti_core/prompts/dedupe_edges.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-05-19 13:30:56 -04:00
Preston Rasmussen
9422b6f5fb
Node dedupe efficiency ( #490 )
...
* update resolve extracted edge
* updated edge resolution
* dedupe nodes update
* single pass node resolution
* updates
* mypy updates
* Update graphiti_core/prompts/dedupe_nodes.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* remove unused imports
* mypy
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-05-15 13:56:33 -04:00
prestonrasmussen
f096c8770c
remove unused import
2025-05-15 10:12:31 -04:00
Preston Rasmussen
ca75decc5f
revert semaphore gather batching ( #489 )
2025-05-14 15:33:11 -04:00
Preston Rasmussen
9baa9b7b8a
Mmr optimizations ( #481 )
...
* update mmr calculations
* update search
* fixes and updates
* mypy
2025-05-12 22:30:23 -04:00
Preston Rasmussen
4198483993
improve memory leak ( #478 )
2025-05-12 16:32:27 -04:00
Preston Rasmussen
e7ecc71983
update semaphore gather to use batches ( #471 )
...
* update semaphore gather to use batches
* batch semaphore update
* remove return type
2025-05-12 14:00:38 -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
8bdceaea55
load embedding update ( #458 )
...
update
2025-05-08 00:07:53 -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
Evan Schultz
5baaa6fa8c
Anthropic cleanup ( #431 )
...
* remove temporary debug logging
* add anthropic api to .env.example
* move anthropic int tests to llm_client dir to better match existing test structure
* update `TestLLMClient` to `MockLLMClient` to eliminate pytest warning
2025-05-03 09:15:03 -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
8b19771d86
search update ( #426 )
2025-04-30 18:25:43 -04:00
Preston Rasmussen
c7f1db9974
source description ( #424 )
2025-04-30 15:18:28 -04:00
Preston Rasmussen
50b3df03c4
Lucene sanitize ( #423 )
...
* lucene sanitize
* bump version
2025-04-30 15:00:29 -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
Soichi Sumi
17c177e91a
Use self.max_tokens when max_token isnt specified ( #382 )
...
* Fix: use self.max_tokens when max_token isnt specified
* Fix: use self.max_tokens in OpenAI clients
* Fix: use self.max_tokens in Anthropic client
* Fix: use self.max_tokens in Gemini client
2025-04-21 11:38:09 -04:00
Preston Rasmussen
c36652eb75
remove redundant endpoint ( #383 )
2025-04-21 10:52:10 -04:00
Preston Rasmussen
009467650f
Node episodes list ( #381 )
...
* added episode list virtual field
* in progress tests
* add tests
* update search return type
* linter
* copyright notice
* mark integration tests
2025-04-20 23:20:19 -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
Pavlo Paliychuk
daaa0beab9
Fix edge deletion check to handle empty episodes list ( #370 )
2025-04-17 16:36:40 -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
e73aaf8171
mmr update ( #369 )
...
* mmr update
* bump version
* format
2025-04-17 10:14:50 -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
Evan Schultz
113179f674
Anthropic client ( #361 )
...
* update Anthropic client to use tool calling and add tests
* fix linting errors before creating pull request by making literal types for anthropic models
2025-04-16 12:35:07 -07:00
Preston Rasmussen
bad33f698e
make node record loading more robust ( #363 )
...
don't throw an error if certain pieces of the dict don't exist
2025-04-16 10:32:03 -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
Preston Rasmussen
c19f9d09d3
add get_by_entity_node_uuid ( #357 )
...
* add get_by_entity_node_uuid
* Update graphiti_core/nodes.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-15 12:37:23 -04:00