tinyvector
tinyvector copied to clipboard
Support filtering with metadata
Add a simple metadata filter based on equality of key-value pairs.
- An undefined filter or an empty array matches all embeddings.
- An empty object in the array matches any embedding.
- If an object in the array is not empty, it will match an embedding, if all its key-value pairs are found in the embedding's metadata.
- If there are more than one objects in the array, the whole filter will match an embedding, if at least one object matches the embedding's metadata.
Example:
[ { "asset": "book", "kind": "paperback" }, { "asset": "newspaper" } ]
Apply Sweep Rules to your PR?
- [ ] Apply: All new business logic should have corresponding unit tests.
- [ ] Apply: Refactor large functions to be more modular.
- [ ] Apply: Add docstrings to all functions and file headers.