Commit graph

283 commits

Author SHA1 Message Date
Daniel Chalef
aab53d6e73
chore: update CLA Assistant action and token in workflow (#364)
Update CLA workflow to use new GitHub Action version and adjust token usage to user PAT
2025-04-16 12:27:37 -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
Daniel Chalef
31a4bfeeb2
docs: add note on LLM service compatibility in README.md (#359)
Enhance README with important note on LLM service compatibility. Clarified that Graphiti works best with LLMs supporting Structured Output, highlighting potential issues with smaller models.
2025-04-15 14:54:02 -07: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
Preston Rasmussen
11e19a35b7
add reranker_min_score (#355)
* add reranker_min_score

* update divide by 0 case

* center node always gets a score of .1

* linter
2025-04-15 12:33:37 -04:00
Preston Rasmussen
c8d5c45269
update to 4.1 models (#352) 2025-04-14 21:02:36 -04:00
Preston Rasmussen
ed26852531
Extract entities and facts in their language (#351)
* Extract entities and facts in their language

* linter
2025-04-14 16:28:59 -04:00
Preston Rasmussen
5dce26722e
e2e graph builder eval (#343)
* add partial eval platform

* dedupe updates

* add e2e eval

* Update graphiti_core/prompts/eval.py

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

* clear all outputs

* clear all outputs

* squash eval commits

* Update tests/evals/data/utils.py

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

* add longmemeval disclaimer

* remove gitignore

* add copyright headers

* add cli

* Update tests/evals/data/longmemeval_data/README.md

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

* Update tests/evals/eval_e2e_graph_building.py

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

* updates

---------

Co-authored-by: jackaldenryan <jackaldenryan@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-12 10:35:22 -04:00
Preston Rasmussen
6aa25a1901
update context string (#346)
* update context string

* Update graphiti_core/search/search_helpers.py

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

* remove unused imports

* bump version

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-10 06:57:58 -04:00
Preston Rasmussen
502b6da1c7
Add search_ and deprecate _search (#342)
* add search_ and deprecate _search. Add formatting helper

* add search helpers file

* move SearchResults

* Update graphiti_core/search/search_helpers.py

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

* remove unused imports

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-09 15:59:21 -04:00
Daniel Chalef
9b563f5ba9
chore: bump version to 0.9.4 in pyproject.toml (#341) 2025-04-09 08:48:43 -07:00
Daniel Chalef
7f7a17c926
chore: update dependencies and refactor type hinting (#339)
* 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

* Update README.md to include installation instructions for Graphiti with Google Gemini support

* fix to deps since peotry doesn't fully implement PEP 735

* Refactor string formatting in various files to use single quotes for consistency and improve readability. This includes updates in agent.ipynb, quickstart.py, multiple prompt files, and ingest.py and retrieve.py modules.

* Remove optional dependencies from pyproject.toml to streamline project requirements.
2025-04-09 08:05:26 -07:00
Daniel Chalef
77406dfae9
docs: add installation instructions for Graphiti using poetry and uv (#340)
docs: enhance README with installation instructions for Google Gemini support
2025-04-08 21:20:09 -07: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
12ff02469a
Fix Gemini deps and cleanup (#336)
* 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
2025-04-08 15:38:42 -07:00
Preston Rasmussen
6c0def79d8
Use UUID as cursor (#335)
* update pagination

* update pagination

* Update graphiti_core/edges.py

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

* uuid_cursor

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-08 17:59:40 -04:00
Pavlo Paliychuk
65b5eeae88
Refactor ORDER BY clauses in edges and nodes to use created_at instead of uuid for better chronological sorting (#322)
* Refactor ORDER BY clauses in edges and nodes to use created_at instead of uuid for better chronological sorting

* Update ORDER BY clauses in edges and nodes to include uuid for improved sorting consistency
2025-04-08 14:48:36 -04:00
Daniel Chalef
6b12896723
fix MCP config handling and docker compose setup (#332)
fix config handling and docker compose setup
2025-04-07 14:22:14 -07:00
Pavlo Paliychuk
807a402ba4
Add set max_tokens attribute in OpenAIClient initialization (#330) 2025-04-07 12:33:15 -04:00
Ikko Eltociear Ashimine
87fbf31a78
docs: update agent.ipynb (#273)
persistance -> persistence
2025-04-06 21:31:46 -04:00
Daniel Chalef
bc40d86946
Bump version from 0.8.8 to 0.9.0 in pyproject.toml (#327) 2025-04-06 10:23:28 -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
Daniel Chalef
d3c83adb04
Enhance README and add quickstart example for Graphiti (#326)
- Updated the main README to direct users to the new quickstart example.
- Added a comprehensive quickstart example demonstrating Graphiti's core functionalities, including connecting to Neo4j, adding episodes, and performing searches.
- Created a requirements.txt file for the quickstart example to manage dependencies.
- Documented setup instructions and next steps for users to explore Graphiti's capabilities.
2025-04-06 09:24:02 -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
fb37565112
Retrieve episodes override (#319)
* add episode override

* add test

* make format
2025-04-02 17:19:24 -04:00
Preston Rasmussen
b7bd56dc50
bump version (#318) 2025-04-02 14:53:21 -04:00
Daniel Chalef
e12edf2cd6
Update default MCP Server model to gpt-4o-mini (#317)
---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).
2025-04-02 11:43:58 -07:00
Preston Rasmussen
f9aa90f612
update rate limits (#316)
* update rate limits

* default none
2025-04-02 11:43:34 -04:00
Preston Rasmussen
dbe21a1975
bump version (#309) 2025-03-27 17:13:05 -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
f91570a359
update get edges by uuids (#307)
* update get edges by uuids

* Update graphiti_core/errors.py

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

* remove sample test

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-27 10:45:06 -04:00
Daniel Chalef
80f288102a
remove example usage (#306)
Update README.md
2025-03-26 23:11:22 -07:00
Daniel Chalef
b73ca24cfb
feat: enhance episode processing and node search with new entity types and update dependencies (#304)
* add custom entities

* improve prompts

* ruff fixes

* models + queue

* moar
2025-03-26 23:10:09 -07: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
Daniel Chalef
4307274967
Add MCP Server (#301)
* experimental

* experimental

* experimental

* wip

* wip

* wip

* wip

* code cleanup

* refactor and cleanup

* fix lint

* remove unneeded mcp dep

* polish
2025-03-24 17:08:19 -07:00
Preston Rasmussen
4e52c57675
fix node save errors (#303) 2025-03-24 13:52:14 -04:00
Daniel Chalef
f88093bbbe
chore: update fastapi to ^0.115.0 in pyproject.toml (#300)
bump fastapi to ensure we're using safe starlette
2025-03-22 12:23:45 -07:00
Daniel Chalef
f00fb2a8a0
docs: update README for real-time capabilities and GraphRAG comparison (#299)
* update intro and add graphrag

* small nits
2025-03-22 09:41:42 -07: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
f651984bd8
remove BGE reranker client from cross_encoder initializatio nto preve… (#296)
* remove BGE reranker client from cross_encoder initializatio nto prevent loading of sentence transformers

* remove bge reranker client import
2025-03-18 17:48:14 -04:00
Tomek Słoma
5cad6c8504
Allow usage of different openai compatible clients in embedder and encoder (#279)
* allow usage of different openai compatible clients in embedder and encoder

* azure openai

* cross encoder example

---------

Co-authored-by: Daniel Chalef <131175+danielchalef@users.noreply.github.com>
2025-03-15 20:46:22 -07:00
Daniel Chalef
55e308fb9f
feat: add Azure OpenAI Embedding support to Graphiti (#293)
support for Azure OpenAI
2025-03-15 14:15:45 -07:00
Scarlett Attensil
59521c1c93
Scarlett/add keywords (#288)
* Initial changes.md

* revise.md

* revise.md

* revise
2025-03-15 10:58:40 -07:00
Preston Rasmussen
dff0b3c42e
get_nodes_and_edges_by_episode (#292)
update name
2025-03-13 15:50:03 -04:00
Preston Rasmussen
daf14a6509
get edges by node uuid (#291)
* get edges by node uuid

* lint
2025-03-13 15:44:02 -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
5ef849cac9
bump version (#286) 2025-03-05 12:11:28 -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