Embedding Search With Cached Vectors for Fast Similar Record Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing embedding-based search methods for finding similar data records are inefficient in terms of computing resources and time, especially for 'find similar' or 'more like this' searches, as generating embeddings is costly and time-consuming.
Innovation Solution
A computer-implemented method that generates embeddings in batches infrequently and caches them, allowing for optimized embedding searches by using cached embeddings or generating new ones on demand, and optionally combining with keyword searches to provide near-instantaneous results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If embedding generation is performed frequently to ensure up-to-date search results, then search accuracy is improved, but computing resource consumption and time cost increase
Solution Approach 1:
The system performs preliminary embedding generation in batch mode for new or updated data records before they are added to the search index. This advance preparation ensures that embeddings are ready when needed for search operations, eliminating the need for frequent on-demand embedding generation and reducing computing resource consumption during actual search operations.
Solution Approach 2:
Instead of generating embeddings continuously or on every data update, the system adopts periodic batch processing where embeddings are generated at scheduled intervals or when a threshold of new records is reached. This periodic approach balances search accuracy with reduced computing resource usage compared to continuous embedding generation.
2Loss of time
If embedding generation is performed frequently to maintain current data, then data currency is improved, but processing time increases
Solution Approach 1:
Embeddings are generated in advance during batch processing operations before the data records are made searchable. This preliminary action ensures that when search operations occur, the embedding generation work has already been completed, reducing the processing time experienced during actual search operations while maintaining data currency.
Solution Approach 2:
The system maintains continuous search functionality by using pre-generated embeddings from batch processing, ensuring that search operations can proceed without interruption or delay for embedding generation. This continuity eliminates processing time delays during search operations while maintaining up-to-date search results through scheduled batch updates.
3Measurement precision
If on-demand embedding generation is used for each search query, then search relevance is improved, but response time deteriorates
Solution Approach 1:
The system generates embeddings in advance during batch processing operations, so that when search queries are submitted, the embeddings are already available in the search index. This preliminary preparation eliminates the need for time-consuming on-demand embedding generation during search operations, maintaining search relevance while dramatically improving response time.
4Use of energy by moving object
If batch processing is used to reduce resource usage, then resource efficiency is improved, but model update frequency decreases
Solution Approach 1:
The system implements periodic batch processing where embeddings are generated and the search index is updated at scheduled intervals or when a threshold of new records is reached. This periodic approach balances resource efficiency by avoiding continuous processing while maintaining model update frequency sufficient to keep search results current, resolving the contradiction between resource efficiency and update frequency.
Data Source
AI summary
Systems and methods are disclosed for an embedding search that are optimized, e.g., for a “find similar” or “more like this” search. In one embodiment, a computer-implemented method comprises receiving a request to find data records in a collection of data records that are similar to a particular data record, determining that the particular data record is not included in a model comprising data indicative of similar data records among the collection based on embeddings of data records in the collection, and, responsive thereto, generating at least one embedding of the particular data record and searching the model for a subset of the collection that are similar to the particular data record, based on the at least one embedding. The method further comprises providing a response to the request comprising at least some of the similar data records.


