Preston Rasmussen
2b0bc21b21
be more explicit about edge type signatures ( #600 )
...
* be more explicit about edge type signatures
* bump version
* update
2025-06-18 16:01:00 -04:00
Preston Rasmussen
e8bf81fc6b
add IS_DUPLICATE_OF edges ( #599 )
...
* add IS_DUPLICATE_OF edges
* cypher query update
* robust handling
2025-06-17 11:56:55 -04:00
Preston Rasmussen
fb6d674fc2
update falkordb ( #589 )
...
* update falkordb
* updates
* updates
2025-06-16 12:02:08 -04:00
Preston Rasmussen
19fde653a6
update driver ( #583 )
...
* update driver
* mypy updates
* mypy updates
* mypy updates
* Update graphiti_core/graph_queries.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* mypy updates
* mypy
* mypy updates
* mypy updates
* mypy updates
* mypy updates
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-13 14:12:09 -04:00
prestonrasmussen
12b90633a4
correct import of literal string
2025-06-13 12:15:33 -04:00
Preston Rasmussen
14146dc46f
Add support for falkordb ( #575 )
...
* [wip] add support for falkordb
* updates
* fix-async
* progress
* fix-issues
* rm-date-handler
* red-code
* rm-uns-try
* fix-exm
* rm-un-lines
* fix-comments
* fix-se-utils
* fix-falkor-readme
* fix-falkor-cosine-score
* update-falkor-ver
* fix-vec-sim
* min-updates
* make format
* update graph driver abstraction
* poetry lock
* updates
* linter
* Update graphiti_core/search/search_utils.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: Dudi Zimberknopf <zimber.dudi@gmail.com>
Co-authored-by: Gal Shubeli <galshubeli93@gmail.com>
Co-authored-by: Gal Shubeli <124919062+galshubeli@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-13 12:06:57 -04:00
Daniel Chalef
3d7e1a4b79
feat: add Azure client wrappers for embedding and LLM, integrate into server ( #581 )
...
* create wrappers for azure clients
* rremove unused crossencoder client
* format
* chore: update graphiti-core to 0.12.0rc5 and pydantic to 2.11.5
* Update graphiti_core/llm_client/azure_openai_client.py
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: Preston Rasmussen <109292228+prasmussen15@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-13 11:55:08 -04:00
PHẠM MINH LONG
ab3b8e0061
Fix OpenAI Reranker logic ( #579 )
2025-06-12 12:34:32 -04:00
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