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.
This pull request introduces a new
CosineSimilarity
function to thepgvector
Django integration and updates the corresponding tests. The most important changes include adding theCosineSimilarity
function, updating imports, and adding a new test case forCosineSimilarity
.CosineSimilarity
must be useful for people who are wondering to use similarity instead of distance.New feature addition:
pgvector/django/functions.py
: Added a new classCosineSimilarity
that inherits fromDistanceBase
and overrides theas_sql
method to compute cosine similarity.Import updates:
pgvector/django/__init__.py
: Updated the import statement to include the newCosineSimilarity
function.tests/test_django.py
: Updated the import statement to include the newCosineSimilarity
function.Test updates:
tests/test_django.py
: AddedThis pull request introduces a new
CosineSimilarity
function to thepgvector
Django package, along with corresponding tests. The changes primarily involve adding this new function and ensuring it is properly tested across different vector types.Key Changes:
New Functionality:
CosineSimilarity
class topgvector/django/functions.py
to calculate cosine similarity.Import Adjustments:
pgvector/django/__init__.py
to includeCosineSimilarity
.tests/test_django.py
to includeCosineSimilarity
.Testing Enhancements:
test_vector_cosine_similarity
method to test cosine similarity for regular vectors intests/test_django.py
.test_halfvec_cosine_similarity
method to test cosine similarity for half vectors intests/test_django.py
.test_sparsevec_cosine_similarity
method to test cosine similarity for sparse vectors intests/test_django.py
.