Commit graph

71 commits

Author SHA1 Message Date
Daniel Chalef
ae78828f9c
fix: replace deprecated gemini-2.5-flash-lite-preview with gemini-2.5-flash-lite (#1076)
fix: replace deprecated gemini-2.5-flash-lite-preview-06-17 with gemini-2.5-flash-lite

Updated all references to the deprecated Gemini model in:
- graphiti_core/llm_client/gemini_client.py
- graphiti_core/cross_encoder/gemini_reranker_client.py
- tests/llm_client/test_gemini_client.py
- README.md

This resolves 404 errors when using Gemini clients.

Fixes #1075

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>
2025-11-20 16:03:51 -08:00
Daniel Chalef
55ef6acb16
Add Azure OpenAI example with Neo4j (#1064)
* Add Azure OpenAI example with Neo4j

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Convert Azure OpenAI example to use uv

- Remove requirements.txt (uv uses pyproject.toml)
- Update README to use 'uv sync' and 'uv run'

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update Azure OpenAI example to use gpt-4.1

- Change default deployment from gpt-4 to gpt-4.1
- Update README recommendations to prioritize gpt-4.1 models

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove model recommendations from Azure OpenAI example

Model recommendations quickly become outdated.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add default Neo4j credentials to docker-compose

Set sensible defaults (neo4j/password) to prevent NEO4J_AUTH error
when .env file is not present.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update Azure OpenAI documentation to use v1 API

- Simplified Azure OpenAI setup using AsyncOpenAI with v1 endpoint
- Updated main README with clearer Quick Start example
- Removed outdated API version configuration
- Updated example deployment to gpt-5-mini
- Added note about v1 API endpoint format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update LLMConfig to include both model and small_model

Both parameters are needed for proper LLM configuration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Address PR review feedback

- Remove flawed validation check in azure_openai_neo4j.py
- Remove unused azure-identity dependency
- Update docstrings to reflect dual client support (AsyncAzureOpenAI and AsyncOpenAI)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-14 08:34:35 -08:00
Daniel Chalef
90d7757c17
Use OpenAI structured output API for response validation (#1061)
* Use OpenAI structured output API for response validation

Replace prompt-based schema injection with native json_schema response format. This improves token efficiency and reliability by having OpenAI enforce the schema directly instead of embedding it in the prompt message.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add type ignore for response_format to fix pyright error

* Increase OpenAIGenericClient max_tokens to 16K and update docs

- Set default max_tokens to 16384 (16K) for OpenAIGenericClient to better support local models
- Add documentation note clarifying OpenAIGenericClient should be used for Ollama and LM Studio
- Previous default was 8192 (8K)

* Refactor max_tokens override to use constructor parameter pattern

- Add max_tokens parameter to __init__ with 16K default
- Override self.max_tokens after super().__init__() instead of mutating config
- Consistent with OpenAIBaseClient and AnthropicClient patterns
- Avoids unintended config mutation side effects

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-11 06:53:37 -08:00
Jack Ryan
674619cc89
Update Zep comparison table description (#1046)
Clarify Zep's positioning as a fully managed platform for context engineering and AI memory.

🤖 Generated with Claude Code

Co-authored-by: Claude <noreply@anthropic.com>
2025-11-06 14:40:42 -06:00
Naseem Ali
7c38ce7830
Add FalkorDB support for docker compose (#911) 2025-10-21 11:47:38 -04:00
Jack Ryan
beae5a94c4
Add Zep vs Graphiti comparison table to README (#1014)
Changes auto-committed by Conductor
2025-10-20 17:49:31 -05:00
prestonrasmussen
29ba336189 remove parallel runtime and build dynamic indexes sequentially 2025-09-03 13:53:12 -04:00
Jack Ryan
03350335cd
docs: Add Azure OpenAI v1 API opt-in requirement documentation (#873)
Add important notice about Azure OpenAI v1 API opt-in requirement for structured outputs.
Without this opt-in, users encounter 404 errors when using client.beta.chat.completions.parse().
Includes link to Microsoft's official documentation on the v1 API migration.

Fixes ZEPAI-1634

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-28 12:09:54 -04:00
Siddhartha Sahu
8802b7db13
Add support for Kuzu as the graph driver (#799)
* Fix FalkoDB tests

* Add support for graph memory using Kuzu

* Fix lints

* Fix queries

* Add tests

* Add comments

* Add more test coverage

* Add mocked tests

* Format

* Add mocked tests II

* Refactor community queries

* Add more mocked tests

* Refactor tests to always cleanup

* Add more mocked tests

* Update kuzu

* Refactor how filters are built

* Add more mocked tests

* Refactor and cleanup

* Fix tests

* Fix lints

* Refactor tests

* Disable neptune

* Fix

* Update kuzu version

* Update kuzu to latest release

* Fix filter

* Fix query

* Fix Neptune query

* Fix bulk queries

* Fix lints

* Fix deletes

* Comments and format

* Add Kuzu to the README

* Fix bulk queries

* Test all fields of nodes and edges

* Fix lints

* Update search_utils.py

---------

Co-authored-by: Preston Rasmussen <109292228+prasmussen15@users.noreply.github.com>
2025-08-27 11:45:21 -04:00
Daniel Chalef
d62c203147
docs: Update Ollama integration to use OpenAIGenericClient (#866)
- Replace OpenAIClient with OpenAIGenericClient in Ollama documentation
- Add bash code block formatting for model installation commands
- Update API key placeholder from 'abc' to 'ollama' for clarity
- Add comment clarifying Ollama's OpenAI-compatible endpoint

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>
2025-08-26 14:49:51 -07:00
Guy Korland
65042738d4
fix broken link (#855) 2025-08-25 07:22:26 -07:00
bechbd
ef56dc779a
Amazon Neptune Support (#793)
* Rebased Neptune changes based on significant rework done

* Updated the README documentation

* Fixed linting and formatting

* Update README.md

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

* Update graphiti_core/driver/neptune_driver.py

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

* Update README.md

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

* Addressed feedback from code review

* Updated the README documentation for clarity

* Updated the README and neptune_driver based on PR feedback

* Update node_db_queries.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>
2025-08-20 10:56:03 -04:00
Jack Ryan
2b16eab0f5
Fix Azure OpenAI configuration parameter in README (#807)
Change llm_config parameter to config in OpenAIClient and OpenAIRerankerClient
examples to match actual API. This resolves TypeError when users follow the
Azure OpenAI configuration examples.

Fixes: TypeError: OpenAIClient.__init__() got an unexpected keyword argument 'llm_config'

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-05 13:40:29 -05:00
Daniel Chalef
9ceeb54186
add concurrency explanation, update Zep (#766) 2025-07-24 11:36:06 -07:00
Pavlo Paliychuk
5821776512
fix: discord badge (#726) 2025-07-15 10:41:45 -04:00
Daniel Chalef
71fca7fdd6
docs: add comprehensive database configuration instructions to README (#703)
* docs: add comprehensive database configuration instructions to README

Add detailed instructions for custom database configuration using graph drivers:
- Neo4j with custom database name
- FalkorDB with custom database name
- Best practices for using graph drivers
- Environment variable configuration examples

Resolves #702

Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>

* Update README.md

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>
2025-07-10 19:50:19 -07:00
Daniel Chalef
aa6e38856a
[REFACTOR][FIX] Move away from DEFAULT_DATABASE environment variable in favour of driver-config support (dc) (#699)
* fix: remove global DEFAULT_DATABASE usage in favor of driver-specific
config

Fixes bugs introduced in PR #607. This removes reliance on the global
DEFAULT_DATABASE environment variable. It specifies the database within
each driver. PR #607 introduced a Neo4j compatability, as the database
names are different when attempting to support FalkorDB.

This refactor improves compatability across database types and ensures
future reliance by isolating the configuraiton to the driver level.

* fix: make falkordb support optional

This ensures that the the optional dependency and subsequent import is compliant with the graphiti-core project dependencies.

* chore: fmt code

* chore: undo changes to uv.lock

* fix: undo potentially breaking changes to drive interface

* fix: ensure a default database of "None" is provided - falling back to internal default

* chore: ensure default value exists for session and delete_all_indexes

* chore: fix typos and grammar

* chore: update package versions and dependencies in uv.lock and bulk_utils.py

* docs: update database configuration instructions for Neo4j and FalkorDB

Clarified default database names and how to override them in driver constructors. Updated testing requirements to include specific commands for running integration and unit tests.

* fix: ensure params defaults to an empty dictionary in Neo4jDriver

Updated the execute_query method to initialize params as an empty dictionary if not provided, ensuring compatibility with the database configuration.

---------

Co-authored-by: Urmzd <urmzd@dal.ca>
2025-07-10 17:25:39 -04:00
Daniel Chalef
183471c179
docs: improve Neo4j database configuration documentation (#691)
- Add comprehensive DEFAULT_DATABASE environment variable documentation
- Explain Neo4j 5+ compatibility issue with default database naming
- Include troubleshooting section for "Graph not found: default_db" error
- Update quickstart example with proper environment variable setup

Fixes #671

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Daniel Chalef <danielchalef@users.noreply.github.com>
2025-07-09 07:20:05 -07:00
Daniel Chalef
8977138a43
docs: add FalkorDB support and update installation instructions (#677)
Enhance: Add FalkorDB installation instructions and correct dependency name in pyproject.toml
2025-07-04 17:37:19 -07:00
Daniel Chalef
16468a4cba
Update README.md to clarify OpenAI API usage and Azure OpenAI configuration details (#649) 2025-06-30 12:59:35 -07:00
Daniel Chalef
689d669559
Gemini client improvements; Gemini reranker (#645)
* add support for Gemini 2.5 model thinking budget

* allow adding thinking config to support current and future gemini models

* merge

* improve client; add reranker

* refactor: change type hint for gemini_messages to Any for flexibility

* refactor: update GeminiRerankerClient to use direct relevance scoring and improve ranking logic. Add tests

* fix fixtures

---------

Co-authored-by: realugbun <github.disorder751@passmail.net>
2025-06-30 12:55:17 -07:00
Gal Shubeli
6e6115c134
FalkorDB Integration: Bug Fixes and Unit Tests (#607)
* fixes-and-tests

* update-workflow

* lint-fixes

* mypy-fixes

* fix-falkor-tests

* Update poetry.lock after pyproject.toml changes

* update-yml

* fix-tests

* comp-tests

* typo

* fix-tests

---------

Co-authored-by: Guy Korland <gkorland@gmail.com>
2025-06-30 11:01:44 -04:00
Daniel Chalef
cb4e187aed
feat: add telemetry with PostHog and update Docker configurations (#633)
* Implement telemetry feature for anonymous usage statistics collection in Graphiti; update Dockerfile CMD format for better signal handling; adjust Neo4j URI and healthcheck in docker-compose.yml; add new dependencies in pyproject.toml and poetry.lock.

* remove duplicated properties

* Update Dockerfile CMD to use JSON array format for improved signal handling

* remove tommlib dep only in 3.11

* Delete server/graph_service/logging_config.py
2025-06-27 12:23:30 -07:00
Daniel Chalef
a7ca777af5
migrate to uv (#634) 2025-06-27 12:12:49 -07:00
Thor Christoffersen Hochman
587f1b9876
Add Ollama documentation to readme (#601)
Add Ollama documentation
2025-06-24 17:33:35 -07: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
Eric Jolibois
08bb08a61c
docs: add required LLMConfig for Azure OpenAI (#558)
* docs: add required `LLMConfig` for Azure OpenAI

* chore: set default models
2025-06-05 12:50:15 -04:00
Daniel Chalef
9ad5c4b4df
docs: update README.md with REST Service section and GitHub stars badge (#401)
* Update README.md to improve structure and clarity. Removed redundant section on Graph Service and added a new section for REST Service. Included a tip about the MCP server for enhanced user guidance.

* Add GitHub stars badge to README.md for enhanced visibility
2025-04-26 11:09:05 -07:00
Daniel Chalef
d11e34d5ca
docs: update README with MCP server and REST service sections (#395)
Update README.md to improve structure and clarity. Removed redundant section on Graph Service and added a new section for REST Service. Included a tip about the MCP server for enhanced user guidance.
2025-04-24 16:50:54 -07:00
Pavlo Paliychuk
69a9108a44
docs: update badges and layout in README.md (#385)
* chore: Update badges

* chore: Update badges

* fix: arxiv link
2025-04-21 21:23:40 -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
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
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
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
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
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
Scarlett Attensil
e1022fa21d
Scarlett/add logo and stars (#269)
* Add logo and star call out

* Update README.md

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-21 10:32:54 -08:00
Preston Rasmussen
5e57c58037
Neo4j 5.26 (#271)
5.26
2025-02-21 13:05:41 -05:00
Daniel Chalef
104516bd89
docs: update README to enhance clarity and add Zep Memory section (#260)
* docs: update README to enhance clarity and add Zep Memory section

* docs: fix formatting in README for clarity on Zep's memory capabilities

* docs: add hyperlink to arXiv paper in README for improved accessibility
2025-02-02 09:20:26 -08: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
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
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
Daniel Chalef
69964d302a
Update README.md with graphiti logo (#131) 2024-09-19 14:52:16 -07: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
Pavlo Paliychuk
66111a66db
chore: Update service readme (#93)
* chore: Update service readme

* Update README.md

* point to the image in server readme

* chore: Update readme + rename image to graphiti
2024-09-06 16:11:04 -04:00
Daniel Chalef
1d31442751
Update README.md (#84)
fix graphiti docs link
2024-09-05 09:56:05 -04:00