Class AlloyDBEmbeddingStore

java.lang.Object
dev.langchain4j.community.store.embedding.alloydb.AlloyDBEmbeddingStore
All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>

public class AlloyDBEmbeddingStore extends Object implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
AlloyDB EmbeddingStore Implementation

Instances of this store are created by configuring a builder:

EmbeddingStore<TextSegment> store = new AlloyDBEmbeddingStore.Builder(alloyDBEngine, "TABLE_NAME") .metadataColumns(metadataColumnNames) .build();
  • Constructor Details

    • AlloyDBEmbeddingStore

      public AlloyDBEmbeddingStore(AlloyDBEmbeddingStore.Builder builder)
      Constructor for AlloyDBEmbeddingStore
      Parameters:
      builder - builder.
  • 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 textSegment)
      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>
    • addAll

      public List<String> addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> textSegment)
      Specified by:
      addAll 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)
      Searches for the most similar (closest in the embedding space) Embeddings.
      All search criteria are defined inside the EmbeddingSearchRequest.
      EmbeddingSearchRequest.filter() can be used to filter by various metadata entries based on MetadataColumns in the EmbeddingStoreConfig.
      Specified by:
      search in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
      Parameters:
      request - A request to search in an EmbeddingStore. Contains all search criteria.
      Returns:
      An EmbeddingSearchResult containing all found Embeddings. Included EmbeddingMatch scores are derived from chosen DistanceStrategy set in the AlloyDBEmbeddingStore.
    • removeAll

      public void removeAll(Collection<String> ids)
      Specified by:
      removeAll 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> textSegments)
      Specified by:
      addAll in interface dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
    • applyVectorIndex

      public void applyVectorIndex(BaseIndex index, String name, Boolean concurrently)
      Create index in the vector store table
      Parameters:
      index - , index to be applied
      name - , name of the index
      concurrently - , CONCURRENTLY option
    • dropVectorIndex

      public void dropVectorIndex(String name)
      remove index from the vector store table
      Parameters:
      name - , name of the index
    • reindex

      public void reindex(String name)
      re-index the vector store table
      Parameters:
      name - , name of the index
    • builder

      public static AlloyDBEmbeddingStore.Builder builder(AlloyDBEngine engine, String tableName)
      Parameters:
      engine - required AlloyDBEngine
      tableName - table to be used as embedding store
      Returns:
      the new AlloyDBEmbeddingStore.Builder.