tinyvector icon indicating copy to clipboard operation
tinyvector copied to clipboard

Support filtering with metadata

Open prantlf opened this issue 2 years ago • 1 comments

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" } ]

prantlf avatar Dec 27 '23 15:12 prantlf

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.