Abacus.AI has a vector matching use case that allows performing efficient and accurate searches on large amounts of catalog data. This becomes especially powerful in recommendation scenarios where matching similar items and recommending them on the fly is required. Technically, vector embeddings are created from the catalog data and then ML algorithm like a KNN (K nearest neighbor) is applied to find similarities within the items of the catalog. These items can be in the form of images or documents and can be matched using deployed ML models in just a few milliseconds.
Abacus.AI has a specialized infrastructure to do a fast K-Nearest Neighbor search on a set of embeddings. Our search system provides scalable search returning top-K (k can be specified at the query time) matches. We provide a simple REST API to do the search (where you can specify k and the distance function) and APIs to update your embeddings index (embedding index refers to the index of the item you want to match with).
Our Vector matching can be applied to historical data as well as real-time streaming data. In both cases, the results can be obtained in real-time with state-of-the-art accuracy measures (100% recall can be delivered). We offer real-time predictions delivered at an enterprise scale with a very low latency (~150 ms) that can work on both image and language modalities.
APIs offered under the use case are as follows:
upsertItemEmbeddings: Updates a knn embedding for an item id for a model_id if an existing item id is found, otherwise inserts a new embedding.
upsertMultipleItemEmbeddings: Updates a knn embedding for multiple item id for a model_id if those item ids are found, otherwise inserts a new knn embedding.
deleteItemEmbeddings: Deletes knn embeddings for a list of item ids for a model_id.
getKNearest: Takes k (number of similar items to search) and distance function to be used and returns the k nearest neighbors to the the provided embedding vector.