Commit graph

43 commits

Author SHA1 Message Date
Preston Rasmussen
1f5a1b890c
cleanup (#894)
* cleanup

* update

* remove unused imports
2025-09-05 11:30:46 -04:00
Preston Rasmussen
1460172568
don't return index labels (#887)
* don't return index labels

* update tests
2025-09-02 12:02:33 -04:00
Preston Rasmussen
fa9c1696b8
dont create extra search embeddings (#861)
* dont create extra search embeddings

* updates

* add missing conditionals

* fix

* float 0

* null check

* more nullchecks

* bump version
2025-08-26 11:16:46 -04:00
Cklee
506bc4fc98
Fix: Search methods configuration ignored (#788) (#829)
fix: respect search_methods configuration in edge_search and node_search

The search functions were ignoring the configured search_methods and
always executing all three methods (BM25, cosine similarity, and BFS).
This was causing unnecessary performance overhead - running 3x the
required computations when users only wanted specific search methods.

Now the functions build search tasks dynamically based on what's
actually configured in search_methods, only executing the requested
search algorithms.

This should significantly improve performance when users need only
specific search methods. Would appreciate your review on this approach\!

Fixes #788
2025-08-13 11:56:20 -04:00
Preston Rasmussen
17747ff58d
Return reranker scores (#758)
* add search reranker scores to search output

* bump version

* updates
2025-07-23 16:05:48 -04:00
Daniel Chalef
059a64e5e9
Group ID filtering in BFS and full-text queries (#754)
Enhance search functions to include group ID filtering in BFS and full-text queries
2025-07-22 17:02:46 -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
Preston Rasmussen
9baa9b7b8a
Mmr optimizations (#481)
* update mmr calculations

* update search

* fixes and updates

* mypy
2025-05-12 22:30:23 -04:00
Preston Rasmussen
4198483993
improve memory leak (#478) 2025-05-12 16:32:27 -04:00
Preston Rasmussen
1f2f1eeab5
Size optimizations (#456)
* memory optimizations for vectors

* debugged

* unused import

* Update graphiti_core/edges.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-05-07 20:08:30 -04:00
Preston Rasmussen
a26b25dc06
Add episode refactor (#399)
* partial refactor

* get relevant nodes refactor

* load edges updates

* refactor triplets

* not there yet

* node search update

* working refactor

* updates

* mypy

* mypy
2025-04-26 00:24:23 -04:00
Preston Rasmussen
e73aaf8171
mmr update (#369)
* mmr update

* bump version

* format
2025-04-17 10:14:50 -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
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
088029a80c
node label filters (#265)
* node label filters

* update

* add search filters

* updates

* bump versions

* update tests

* test update
2025-02-21 12:38:01 -05:00
Preston Rasmussen
6ef2f5e097
Date filters (#240)
* add search filters

* add search filters

* mypy

* mypy

* update filtering

* date-filters

* update

* update filter queries

* update dictionary
2025-01-28 11:52:53 -05:00
Preston Rasmussen
00fe87679e
Bounded semaphore - limiting concurrency (#244)
* WIP

* add semaphore

* remove unused imports

* remove unused imports

* lower concurrency limit
2024-12-17 13:08:18 -05:00
Preston Rasmussen
52c590878a
Update edge search (#216)
* update edge fulltext search

* bump version
2024-11-15 14:32:11 -05:00
Preston Rasmussen
eba9f40ca2
add reflexion (#212)
* add reflexion

* clean up boolean logic

* update conditional

* cap reflexion iterations

* don't do an extra reflection step
2024-11-13 11:58:56 -05:00
Preston Rasmussen
6536401c8c
return no results with empty search string (#206)
* return no results with empty search string

* update

* bump version
2024-11-04 10:50:49 -05:00
Preston Rasmussen
63a1b11142
update new names with input_data (#204) 2024-10-29 11:03:31 -04:00
Preston Rasmussen
7bb0c78d5d
Update reranker limits (#203)
* update reranker limits

* update versions

* format

* update names

* fix: voyage linter

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-10-28 14:50:16 -04:00
Preston Rasmussen
ceb60a3d33
Cross encoder reranker in search query (#202)
* cross encoder reranker

* update reranker

* add openai reranker

* format

* mypy

* update

* updates

* MyPy typing

* bump version
2024-10-25 12:29:27 -04:00
Pavlo Paliychuk
544f9e3fba
chore: Set up cross encoder client (#201)
* chore: Set up cross encoder client

* fix: deps

* chore: move voyage to dev deps
2024-10-24 11:36:10 -04:00
Preston Rasmussen
47ba11e08d
Number of Neo4j Connections Optimizations (#199)
* improve node distance performance

* update episode mentions

* format

* swap to debug log
2024-10-23 13:08:47 -04:00
Preston Rasmussen
194ecf5eb4
set content to empty after episode extractions have happened (#191)
* set content to empty after episode extractions have happened

* format

* bump version
2024-10-15 12:13:14 -04:00
Preston Rasmussen
7c15b729a9
fix duplicate search results bug (#190)
* fix bugs

* format

* syntax
2024-10-14 21:54:33 -04:00
Preston Rasmussen
49aeaf75f2
Add mmr reranking (#180)
* mmr start

* add mmr function

* normalize

* add mmr options to search

* update communities

* build communities

* format

* clean up normalization

* normalize in mmr

* update
2024-10-08 13:55:10 -04:00
Preston Rasmussen
c8ff5be8ce
Msc benchmark update (#173)
* eval update

* I sped it up

* make format

* search updates

* updates

* cleanup

* make format

* remove unused imports

* poetry lock
2024-10-03 15:39:35 -04:00
Pavlo Paliychuk
a7148d6260
feat: Dedicated embedder interface (#159)
* feat: Add Embedder interface and implement openai embedder

* feat: Add voyage ai embedder
2024-09-27 12:47:04 -04:00
ARNO
5bd18fc7dd
feat: configurable embedding model (#156)
* feat: configurable embedding model

format

* chore: Update comment

* chore: Pass embedding model in search utils

---------

Co-authored-by: paulpaliychuk <pavlo.paliychuk.ca@gmail.com>
2024-09-26 13:31:22 -07:00
Preston Rasmussen
fd341a6f16
Add MSC benchmark and improve search performance (#157)
* test cases

* test

* benchmark

* eval updates

* improve search performance

* remove data

* formatting

* add None type to config

* update sanitization

* push version

* maketrans update

* mypy
2024-09-26 16:12:38 -04:00
Preston Rasmussen
794b705664
Group id fix (#152)
* node distance and group_ids fixed

* get all with no group_id passed

* push

* push

* remove comments

* mypy

* mypy ids

* please mypy

* trust

* last one
2024-09-24 15:55:30 -04:00
Preston Rasmussen
e398f95612
Mentions reranker (#124)
* documentation update

* update communities

* mentions reranker

* fix episode edge mentions

* get episode mentions

* add communities to mentions endpoint

* rebase

* defaults episodes to empty list

* update
2024-09-18 15:44:28 -04:00
Pavlo Paliychuk
19a6ebc6fe
Fix groupless search (#118)
* fix(search): 🐛 Search across null group_ids

* chore: Version bump

* chore: Set group_ids to none if it's an empty list

* fix: Check for group ids being a list before setting it to None if empty

* fix check

* chore: Simplify group_ids check

* chore: Simplify the check further
2024-09-16 16:23:07 -04:00
Preston Rasmussen
d7c20c1f59
Search refactor + Community search (#111)
* WIP

* WIP

* WIP

* community search

* WIP

* WIP

* integration tested

* tests

* tests

* mypy

* mypy

* format
2024-09-16 14:03:05 -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
Preston Rasmussen
e56a599a72
search update (#81)
* search update

* update string literals
2024-09-04 10:05:45 -04: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
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
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
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
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
Renamed from core/search/search.py (Browse further)