* 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
* test
* test
* add latest tag
* chore: Remove debug statements
* fix push as latest manual dispatch option
* update
* add extract version from tag step
* chore: Folder rearrangement
* chore: Remove unused deps, and add mypy step in CI for graph-service
* fix: Mypy errors
* fix: linter
* fix mypy
* fix mypy
* chore: Update docker setup
* chore: Reduce graph service image size
* chore: Install graph service deps on CI
* remove cache from typecheck
* chore: install graph-service deps on typecheck action
* update graph service mypy direction
* feat: Add release service image step
* chore: Update depot configuration
* chore: Update release image job to run on releases
* chore: Test depot multiplatform build
* update release action tag
* chore: Update action to be in accordance with zep image publish
* test
* test
* revert
* chore: Update python slim image used in service docker
* chore: Remove unused endpoints and dtos
* temp commit while moving
* fix name embedding bug
* invalidation
* format
* tests on runner examples
* format
* ellipsis
* ruff
* fix
* format
* minor prompt change
* 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
* add CRUD operations and fix search limit bugs
* format
* update tests
* å
* update tests to double limit call
* add default field
* format
* import correct field
* wip
* chore: Update project name and description, fix packaging, and update pyproject.toml
* wip
* wip
* wip
* wip
* wip
* chore: Update project name and description, fix packaging, and update pyproject.toml
* readme wip
* chore: Update README.md formatting and episode body in graphiti_core
* chore: Update source description and metadata in graphiti_core
* Update episode body formatting in README.md
* chore: Update episode body formatting in README.md
* chore: Update episode body formatting in README.md
* chore: Update episode body formatting in README.md
* chore: Update episode body formatting in README.md
* 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>
Add a new `text` episode type and update the `extract_nodes` function to handle it.
* **EpisodeType Enum:**
- Add `text` to the `EpisodeType` enum in `graphiti_core/nodes.py`.
- Update the `from_str` method to handle the `text` episode type.
* **extract_nodes Function:**
- Update the `extract_nodes` function in `graphiti_core/utils/maintenance/node_operations.py` to handle the `text` episode type.
- Use the `message` type prompt for both `message` and `text` episodes.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).
* add new search reranker and update search
* node distance reranking
* format
* rebase
* no need for enumerate
* mypy typing
* defaultdict update
* rrf prelim ranking