Class CoherenceEmbeddingStore

java.lang.Object
dev.langchain4j.store.embedding.coherence.CoherenceEmbeddingStore
All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>

public class CoherenceEmbeddingStore extends Object implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
An EmbeddingStore backed by an Oracle Coherence NamedMap.
  • Field Details

    • DEFAULT_MAP_NAME

      public static final String DEFAULT_MAP_NAME
      The default NamedMap name.
      See Also:
    • documentChunks

      protected final com.tangosol.net.NamedMap<com.oracle.coherence.ai.DocumentChunk.Id,com.oracle.coherence.ai.DocumentChunk> documentChunks
      The NamedMap used to store the document chunks.
    • normalizeEmbeddings

      protected final boolean normalizeEmbeddings
  • Constructor Details

    • CoherenceEmbeddingStore

      protected CoherenceEmbeddingStore(com.tangosol.net.NamedMap<com.oracle.coherence.ai.DocumentChunk.Id,com.oracle.coherence.ai.DocumentChunk> namedMap, boolean normalizeEmbeddings)
      Create an CoherenceEmbeddingStore.

      This method is protected, instances of CoherenceEmbeddingStore are created using the builder.

      Parameters:
      namedMap - the NamedMap to contain the document chunks
      normalizeEmbeddings - true if this CoherenceEmbeddingStore should call Embedding.normalize() on embeddings when adding or searching
  • Method Details

    • add

      public String add(dev.langchain4j.data.embedding.Embedding embedding)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • add

      public void add(String id, dev.langchain4j.data.embedding.Embedding embedding)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • add

      public String add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment segment)
      Specified by:
      add in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • addAll

      public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings)
      Specified by:
      addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • remove

      public void remove(String id)
      Specified by:
      remove in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • removeAll

      public void removeAll(Collection<String> ids)
      Specified by:
      removeAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • removeAll

      public void removeAll(dev.langchain4j.store.embedding.filter.Filter filter)
      Specified by:
      removeAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • removeAll

      public void removeAll()
      Specified by:
      removeAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • search

      public dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest request)
      Specified by:
      search in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • addAll

      public void addAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> segments)
      Add multiple Embedding instances to the repository.
      Specified by:
      addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
      Parameters:
      ids - the list of identifiers to use for each of the Embedding
      embeddings - the Embedding to add
      segments - an optional list of TextSegment to add with the embeddings
    • create

      public static CoherenceEmbeddingStore create()
      Create a default CoherenceEmbeddingStore.
      Returns:
      a default CoherenceEmbeddingStore
    • create

      public static CoherenceEmbeddingStore create(String name)
      Create a CoherenceEmbeddingStore that uses the specified Coherence NamedMap name.
      Parameters:
      name - the name of the Coherence NamedMap used to store documents
      Returns:
      a CoherenceEmbeddingStore
    • create

      public static CoherenceEmbeddingStore create(com.tangosol.net.NamedMap<com.oracle.coherence.ai.DocumentChunk.Id,com.oracle.coherence.ai.DocumentChunk> map)
      Create a CoherenceEmbeddingStore that uses the specified Coherence NamedMap name.
      Parameters:
      map - the NamedMap used to store documents
      Returns:
      a CoherenceEmbeddingStore
    • builder

      public static CoherenceEmbeddingStore.Builder builder()
      Returns:
      a CoherenceEmbeddingStore.Builder to use to build a CoherenceEmbeddingStore