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.
Feature
Using FAISS on a retrievalQA task, I found myself wanting to allow in multiple sources. From what I understood, the filter feature takes in a dict of form {key: value} which then will check in the metadata for the exact value linked to that key.
I added some logic to be able to pass a list which will be checked against instead of an exact value. Passing an exact value will also work.
Here's an example of how I could then use it in my own project:
I added an integration test based on the other ones I found in
tests/integration_tests/vectorstores/test_faiss.py
undertest_faiss_with_metadatas_and_list_filter()
.It doesn't feel like this is worthy of its own notebook or doc, but I'm open to suggestions if needed.
Who can review?
Tag maintainers/contributors who might be interested:
VectorStores related: @dev2049