Commit graph

715 commits

Author SHA1 Message Date
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) 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
Pavlo Paliychuk
6e8c964aef
chore: Add comments to graphiti methods (#40)
* chore: Add comments to graphiti methods

* chore: Update int test name + add header to test files

* chore: Add comments to episode type
2024-08-26 13:11:50 -04:00
Pavlo Paliychuk
0ed7739bc0
Controlled example (#37)
* chore: Add romeo runner

* fix: Linter

* dedupe fixes

* wip

* wip dump

* allbirds

* chore: Update romeo parser

* chore: Anthropic model fix

* allbirds runner

* format

* wip

* mypy updates

* update

* remove r

* update tests

* format

* wip

* wip

* wip

* chore: Strategically update the message

* 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

* chore: Nuke unused examples

* chore: Nuke unused examples

* chore: Only run type check on graphiti_core

* fix unit tests

* reformat

* unit test

* fix: Unit tests

* test: Add coverage for extract_date_strings_from_edge

* lint

* remove commented code

---------

Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
Co-authored-by: Daniel Chalef <131175+danielchalef@users.noreply.github.com>
2024-08-26 10:30:22 -04:00
Daniel Chalef
c5e52153c4
chore: Fix packaging (#38)
* feat: Update project name and description

The project name and description in the `pyproject.toml` file have been updated to reflect the changes made to the project.

* chore: Update pyproject.toml to include core package

The `pyproject.toml` file has been updated to include the `core` package in the list of packages. This change ensures that the `core` package is included when building the project.

* fix imports

* fix importats
2024-08-25 10:07:50 -07:00
Preston Rasmussen
0d2942daea
dedupe fixes (#35) 2024-08-23 18:06:42 -04:00
Daniel Chalef
57aed456fa
Update CONTRIBUTING.md to reflect Python 3.10+ requirement (#33)
* Update CONTRIBUTING.md to reflect Python 3.10+ requirement



---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).

* sig file

* feat: Initialize CLA file with empty signed contributors array
2024-08-23 13:54:44 -07:00
Pavlo Paliychuk
427a67b8f8
chore: Update the context for date extraction + bug fixes (#31)
* chore: Update the context for date extraction + bug fixes

* chore: Remove logs
2024-08-23 16:45:59 -04:00
Daniel Chalef
c2aaf94be4
feat: Add CLA Assistant workflow and CONTRIBUTING guidelines (#32)
Add a new GitHub Actions workflow file to handle the CLA Assistant functionality. Also, include a CONTRIBUTING.md file with guidelines for contributing to the project.
2024-08-23 13:32:57 -07:00
Daniel Chalef
6d52be49f4
Add Apache License 2.0 boilerplate to all Python files (#30)
* Add Apache License 2.0 boilerplate to all Python files

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).

* format

* format

* chore: Add Ellipsis configuration file
2024-08-23 16:01:33 -04:00
Pavlo Paliychuk
605219f8c7
feat: Add real world dates extraction (#26)
* feat: Add real world dates extraction

* fix: Linter

* fix: 💄 mypy errors

* chore: handle invalid dates returned by the llm

* chore: Polish prompt

* reformat

* style: 💄 reformat
2024-08-23 14:18:45 -04:00
Daniel Chalef
dbc7004eb7
Add a LICENSE file containing the Apache v2 license (#29)
---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/getzep/graphiti?shareId=XXXX-XXXX-XXXX-XXXX).
2024-08-23 11:16:12 -07:00
Preston Rasmussen
a1e54881a2
improve deduping issue (#28)
* improve deduping issue

* fix comment

* commit format

* default embeddings

* update
2024-08-23 12:17:15 -04:00
Daniel Chalef
9cc9883e66
chore: Fix Typing Issues (#27)
* typing.Any and friends

* message

* chore: Import Message model in llm_client

* fix: 💄 mypy errors

* clean up mypy stuff

* mypy

* format

* mypy

* mypy

* mypy

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
Co-authored-by: prestonrasmussen <prasmuss15@gmail.com>
2024-08-23 11:15:44 -04:00
Preston Rasmussen
7152a211ae
fix constraints (#25) 2024-08-22 19:10:18 -04:00
Pavlo Paliychuk
8a55f48f5e
Fix temporal invalidation unit tests (#23)
* wip

* wip

* wip

* fix: Linter errors

* fix formatting

* chore: fix ruff

* fix: Duplication

* chore: Fix unit tests for temporal invalidation

* attempt to fix unit tests

* fix: format

---------

Co-authored-by: Daniel Chalef <131175+danielchalef@users.noreply.github.com>
2024-08-22 19:02:20 -04:00
Daniel Chalef
72dfa3c1e3
depot + cleanup (#22) 2024-08-22 15:16:15 -07:00
Daniel Chalef
c90b4e01ab
chore: enable mypy; actions cleanup (#21)
* chore: eenable mypy

* chore: Update MyPy command in typecheck.yml workflow

* fix caching. makefile lint improvements

* chore: Fix sed command in typecheck.yml workflow

* chore: Update sed command in typecheck.yml workflow

* chore: Update Python version to 3.10 in typecheck.yml workflow

* remove pretty

* pipefail
2024-08-22 15:10:24 -07:00
Pavlo Paliychuk
1f1652f56c
Invalidation updates && improvements (#20)
* wip

* wip

* wip

* fix: Linter errors

* fix formatting

* chore: fix ruff

* fix: Duplication

---------

Co-authored-by: Daniel Chalef <131175+danielchalef@users.noreply.github.com>
2024-08-22 18:09:44 -04:00
Preston Rasmussen
94873f1083
search updates (#19)
* search updates

* add helper function

* make format

* updates
2024-08-22 17:24:59 -04:00
Daniel Chalef
6ae9c4e262
rm podcast (#16) 2024-08-22 13:08:41 -07:00
Daniel Chalef
73ec0146ff
ruff action (#17)
* ruff action

* chore: Update Python version to 3.10 in lint.yml workflow

* fix lint and formatting

* cleanup
2024-08-22 13:06:42 -07:00
Daniel Chalef
50da9d0f31
format and linting (#18)
* Makefile and format

* fix podcast stuff

* refactor: update import statement for transcript_parser in podcast_runner.py

* format and linting

* chore: Update import statements and remove unused code in maintenance module
2024-08-22 12:26:13 -07:00
Preston Rasmussen
63b9790026
search updates (#14)
* search updates

* test updates

* add opinionated search

* update
2024-08-22 14:26:26 -04:00