feat(sdk/retrieval/scoring): public CosineSim + RRF helpers [skip-tag:sdk]#80
Merged
Conversation
…lpers
Lift the kernel of the retrieval-stack scoring math out of two
package-private hideouts (sdk/retrieval/memory.cosineSim and the
algorithm bodies inside pipeline.RRFFusion / pipeline.WeightedFusion)
into a small, dependency-light scoring package other backends and
tools can import without forcing them through a pipeline.Stage.
- CosineSim, DotProduct, EuclideanDist for vector similarity.
- RRF (with DefaultRRFK = 60) and WeightedFusion as pure functions
over [][]retrieval.Hit and map[string][]retrieval.Hit respectively.
- Existing call sites delegate, preserving identical behaviour:
* sdk/retrieval/memory.cosineSim is a 1-line wrapper.
* pipeline.{RRFFusion,WeightedFusion}.Run forward to scoring.
Pure additive in sdk; no symbol removed and no public surface
deprecated. Prep PR for sdkx/retrieval/fs (P4) so the upcoming
fs-backed Index doesn't have to vendor or duplicate this math.
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prep for P4 — sdkx/retrieval/fs.
Lift the small scoring kernel (cosine similarity + RRF/WeightedFusion algorithm cores) out of two package-private hideouts so the upcoming fs-backed retrieval Index — and any future sdkx backend or tool — can import them directly instead of vendoring duplicates or constructing a pipeline.Stage just to invoke the algorithm.
Existing call sites delegate; behaviour is identical. `sdk/retrieval/memory.cosineSim` shrinks to a 1-line wrapper; `pipeline.RRFFusion.Run` and `pipeline.WeightedFusion.Run` forward the lane map.
Test plan
Notes
Made with Cursor