Module org.nasdanika.ai
Package org.nasdanika.ai
Interface SimilaritySearch<T,D extends Comparable<D>>
- Type Parameters:
T- Search result and query type, e.g.StringD- Distance type, e.g.Float
public interface SimilaritySearch<T,D extends Comparable<D>>
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordVector index itemstatic final recordIndex id - item URI and embedding vector index for URIs with multiple vectors/chunks. -
Method Summary
Modifier and TypeMethodDescriptiondefault <U> SimilaritySearch<U,D> static <D extends Comparable<D>>
SimilaritySearch<List<List<Float>>,D> adapt(SimilaritySearch<List<Float>, D> vectorSearch) Adapts a single vector search to multi-vector searchstatic <D extends Comparable<D>>
SimilaritySearch<String,D> embeddingsSearch(SimilaritySearch<List<List<Float>>, D> multiVectorSearch, Embeddings embeddings) Computes embeddings and uses them for similarity search in a multi-vector search.Finds items closest to the queryreactor.core.publisher.Mono<List<SearchResult<D>>>Finds items closest to the querystatic SimilaritySearch<List<Float>,Float> from(com.github.jelmerk.hnswlib.core.Index<SimilaritySearch.IndexId, float[], SimilaritySearch.EmbeddingsItem, Float> index) static SimilaritySearch<List<Float>,Float> from(com.github.jelmerk.hnswlib.core.Index<SimilaritySearch.IndexId, float[], SimilaritySearch.EmbeddingsItem, Float> index, Function<float[], float[]> normalizer)
-
Method Details
-
find
Finds items closest to the query- Parameters:
query-numberOfItems- Number of items to return- Returns:
-
findAsync
Finds items closest to the query- Parameters:
query-numberOfItems- Number of items to return- Returns:
-
adapt
-
embeddingsSearch
static <D extends Comparable<D>> SimilaritySearch<String,D> embeddingsSearch(SimilaritySearch<List<List<Float>>, D> multiVectorSearch, Embeddings embeddings) Computes embeddings and uses them for similarity search in a multi-vector search.- Type Parameters:
D-- Parameters:
multiVectorSearch-embeddings-- Returns:
-
adapt
static <D extends Comparable<D>> SimilaritySearch<List<List<Float>>,D> adapt(SimilaritySearch<List<Float>, D> vectorSearch) Adapts a single vector search to multi-vector search -
from
static SimilaritySearch<List<Float>,Float> from(com.github.jelmerk.hnswlib.core.Index<SimilaritySearch.IndexId, float[], SimilaritySearch.EmbeddingsItem, Float> index) -
from
static SimilaritySearch<List<Float>,Float> from(com.github.jelmerk.hnswlib.core.Index<SimilaritySearch.IndexId, float[], SimilaritySearch.EmbeddingsItem, Float> index, Function<float[], float[]> normalizer)
-