87 Commits

Author SHA1 Message Date
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
Pavlo Paliychuk
39ad28d6db feat: Add group id support to service (#92) v0.2.3 2024-09-06 15:37:19 -04:00
Preston Rasmussen
42fb590606 Add group ids (#89)
* 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
2024-09-06 12:33:42 -04:00
Pavlo Paliychuk
c7fc057106 Fix manual image release workflow (#91)
* test

* test

* add latest tag

* chore: Remove debug statements

* fix push as latest manual dispatch option

* update

* add extract version from tag step
2024-09-06 12:31:19 -04:00
Pavlo Paliychuk
dbad8f4c78 Fix manual image release workflow (#90)
* test

* test

* add latest tag

* chore: Remove debug statements
2024-09-06 12:19:06 -04:00
Pavlo Paliychuk
ba48f64492 Add Fastapi graph service (#88)
* 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
2024-09-06 11:07:45 -04:00
Preston Rasmussen
a29c3557d3 fix clearing name embeddings bug (#87)
fix bug
v0.2.2
2024-09-05 14:09:19 -04:00
Preston Rasmussen
299021173b Add episode refactor (#85)
* temp commit while moving

* fix name embedding bug

* invalidation

* format

* tests on runner examples

* format

* ellipsis

* ruff

* fix

* format

* minor prompt change
2024-09-05 12:05:44 -04:00
Daniel Chalef
1d31442751 Update README.md (#84)
fix graphiti docs link
2024-09-05 09:56:05 -04:00
Preston Rasmussen
e56a599a72 search update (#81)
* search update

* update string literals
v0.2.1
2024-09-04 10:05:45 -04:00
Daniel Chalef
2b6adb5279 Update README.md (#80) 2024-09-03 21:32:44 -07:00
Pavlo Paliychuk
e38af2596c chore: Version bump (#79) v0.2.0 2024-09-03 17:41:13 -04:00
Daniel Chalef
f97eb76cc3 Update image URL in README.md (#78) 2024-09-03 12:07:19 -07:00
dependabot[bot]
03f24930a9 chore(deps-dev): Bump langgraph from 0.2.15 to 0.2.16 (#75)
Bumps [langgraph](https://github.com/langchain-ai/langgraph) from 0.2.15 to 0.2.16.
- [Release notes](https://github.com/langchain-ai/langgraph/releases)
- [Commits](https://github.com/langchain-ai/langgraph/compare/0.2.15...0.2.16)

---
updated-dependencies:
- dependency-name: langgraph
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 12:00:35 -07:00
dependabot[bot]
820251fad7 chore(deps-dev): Bump groq from 0.9.0 to 0.10.0 (#76)
Bumps [groq](https://github.com/groq/groq-python) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/groq/groq-python/releases)
- [Changelog](https://github.com/groq/groq-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/groq/groq-python/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: groq
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 12:00:11 -07:00
Preston Rasmussen
e9e6039b1e Speed up add episode (#77)
* WIP

* updates

* use uuid for node dedupe

* pret-testing

* parallelized node resolution

* working add_episode

* revert to 4o

* format

* mypy update

* update types
2024-09-03 13:25:52 -04:00
Daniel Chalef
db12ac548d README.md fixes (#74)
fixed casing on `graphiti`
2024-09-01 12:35:31 -07:00
Daniel Chalef
77685b063c Feat/langgraph-example (#73)
* wip

* wip

* image + clean run

* chore: Update LANGCHAIN_TRACING_V2 to 'false' in agent.ipynb

* chore: Remove unused import in runner.ipynb

* lock file
2024-09-01 12:31:08 -07:00
Daniel Chalef
fe20c0f51d Node Distance Reranker: Limit max hops (and cleanup prints) (#72)
* limit SHORTEST max hops

* cleanup prints
2024-09-01 12:16:04 -07:00
dependabot[bot]
79a63cc366 chore(deps-dev): Bump jupyterlab from 4.2.4 to 4.2.5 in the pip group (#68)
Bumps the pip group with 1 update: [jupyterlab](https://github.com/jupyterlab/jupyterlab).


Updates `jupyterlab` from 4.2.4 to 4.2.5
- [Release notes](https://github.com/jupyterlab/jupyterlab/releases)
- [Changelog](https://github.com/jupyterlab/jupyterlab/blob/@jupyterlab/lsp@4.2.5/CHANGELOG.md)
- [Commits](https://github.com/jupyterlab/jupyterlab/compare/@jupyterlab/lsp@4.2.4...@jupyterlab/lsp@4.2.5)

---
updated-dependencies:
- dependency-name: jupyterlab
  dependency-type: direct:development
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-31 10:41:43 -07:00
Daniel Chalef
d36306e1e9 Update README.md (#71) 2024-08-31 10:37:27 -07:00
Daniel Chalef
f41c442f0f Update README.md - fix image url (#70) 2024-08-31 10:34:07 -07:00
Daniel Chalef
379a3c89cd Update README.md messaging (#69)
Update README.md
2024-08-31 10:32:57 -07:00
dependabot[bot]
462b97b6f1 chore(deps-dev): Bump pytest-asyncio from 0.23.8 to 0.24.0 (#43)
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.23.8 to 0.24.0.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.8...v0.24.0)

---
updated-dependencies:
- dependency-name: pytest-asyncio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-30 12:34:49 -04:00
Preston Rasmussen
35a4e5172b add bulk temporal extraction and improve bulk quality and performance (#67)
* 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
2024-08-30 10:48:28 -04:00
Daniel Chalef
aac06d9d24 Update README.md - CRUD done (#66) 2024-08-27 23:17:22 -07:00
Daniel Chalef
bcbdf31664 Update cla.yml - name of ellipsis bot (#65) 2024-08-27 19:20:46 -04:00
Daniel Chalef
d9f07049bd Update README.md - init (#64)
* Update README.md - init

* Update README.md
2024-08-27 15:42:09 -07:00
Pavlo Paliychuk
95eeaa575c chore: Version bump (#63) v0.1.0 2024-08-27 16:29:55 -04:00
Preston Rasmussen
06d8d9359f Add Missing Node and edge CRUD (#51)
* add CRUD operations and fix search limit bugs

* format

* update tests

* å

* update tests to double limit call

* add default field

* format

* import correct field
2024-08-27 16:18:01 -04:00
Pavlo Paliychuk
3f3fb60a55 feat: Add release workflow (#62) 2024-08-27 16:15:18 -04:00
Pavlo Paliychuk
e821a6195a chore: Move anthropic to dev deps, remove anthropic and groq clients from __init__ (#61) 2024-08-27 16:03:08 -04:00
Daniel Chalef
383a2c22af Update README.md - docs to docs site (#60)
* Update README.md - docs to docs site

* 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>
2024-08-27 12:56:17 -07:00
Daniel Chalef
7aa5cea7da Update README.md (#59) 2024-08-27 12:06:13 -07:00
Daniel Chalef
9591c78bbb Update README.md (#58) 2024-08-27 11:57:04 -07:00
Daniel Chalef
60b75685e9 Update README.md (#57) 2024-08-27 11:11:18 -07:00
Daniel Chalef
b8abdfaedd Update README.md w/ spacing (#56) 2024-08-27 11:02:50 -07:00
Pavlo Paliychuk
398e1c13dc Update status and roadmap section (#53)
* Update status and roadmap section

* update

* update
2024-08-27 11:01:08 -07:00
Daniel Chalef
ea0bb87ff3 Update README.md (#55) 2024-08-27 10:59:50 -07:00
Daniel Chalef
0c8242bb0a Chore/add-intro-gif v2 (#54)
* feat: Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides

* Update image URL in README.md for graphiti demo slides
2024-08-27 10:52:28 -07:00
Daniel Chalef
66917bae57 feat: Add graphiti demo slides to README.md (#52) 2024-08-27 10:24:28 -07:00
Daniel Chalef
a498344fe3 README wip (#42)
* 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
2024-08-27 06:39:55 -07:00
Daniel Chalef
2d0705fc1b Add get_nodes_by_query method to Graphiti class (#49)
* 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>
2024-08-26 20:00:28 -07:00
Daniel Chalef
06c3de87ee Update cla.yml to add ellipsisdev[bot] to whitelist (#50) 2024-08-26 17:37:28 -07:00
Daniel Chalef
7ca4f7fe5b Update search method to return EntityEdge objects (#48)
---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).
2024-08-26 17:24:35 -07:00
Daniel Chalef
598e9fd0c5 Update cla.yml for dependabot[bot] whitelist (#47) 2024-08-26 16:04:41 -07:00
Daniel Chalef
a6d63f0c0d Add text episode type (#46)
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).
2024-08-26 15:51:13 -07:00
Preston Rasmussen
2d01e5d7b7 Search node centering (#45)
* add new search reranker and update search

* node distance reranking

* format

* rebase

* no need for enumerate

* mypy typing

* defaultdict update

* rrf prelim ranking
2024-08-26 18:34:57 -04:00
Daniel Chalef
fc4bf3bde2 Implement retry for LLMClient (#44)
* implement retry

* chore: Refactor tenacity retry logic and improve LLMClient error handling

* poetry

* remove unnecessary try
2024-08-26 12:53:16 -07:00
Daniel Chalef
895afc7be1 implement diskcache (#39)
* chore: Add romeo runner

* fix: Linter

* wip

* wip dump

* chore: Update romeo parser

* chore: Anthropic model fix

* wip

* allbirds

* allbirds runner

* format

* wip

* wip

* mypy updates

* update

* remove r

* update tests

* format

* wip

* chore: Strategically update the message

* rebase and fix import issues

* Update package imports for graphiti_core in examples and utils

* nits

* chore: Update OpenAI GPT-4o model to gpt-4o-2024-08-06

* implement groq

* improvments & linting

* cleanup and nits

* Refactor package imports for graphiti_core in examples and utils

* Refactor package imports for graphiti_core in examples and utils

* implement diskcache

* remove debug stuff

* log cache hit when debugging only

* Improve LLM config. Fix bugs (#41)

Refactor LLMConfig class to allow None values for model and base_url

* chore: Resolve mc

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
2024-08-26 13:13:05 -04:00