community: Add support for negative embeddings in PGVector #19310
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.
Description: This commit introduces the capability to pass negative embeddings as a list of strings to the
similarity_search_with_score_by_vector
method in the PGVector vectorstore. Negative embeddings allow for refining search results by excluding certain concepts or themes.Key changes:
similarity_search_with_score_by_vector
to accept anegative_embeddings
parameter as a list of strings.__query_collection
to convert negative strings to embeddings and incorporate them into the search query.__query_collection
to exclude results based on their similarity to the negative embeddings.This feature enables users to have more control over their search results by specifying negative concepts to exclude. The negative embeddings are converted to vector embeddings using the provided embedding function and used to filter out unwanted results based on a configurable threshold.
Example usage:
Dependencies: No additional dependencies are required for this change.
Twitter Handle: @GentJayson