Class MilvusEmbeddingStore

java.lang.Object
dev.langchain4j.store.embedding.milvus.MilvusEmbeddingStore
All Implemented Interfaces:
EmbeddingStore<TextSegment>

public class MilvusEmbeddingStore extends Object implements EmbeddingStore<TextSegment>
Represents an Milvus index as an embedding store.
Supports both local and managed Milvus instances.
Supports storing Metadata and filtering by it using a Filter (provided inside an EmbeddingSearchRequest).
  • Constructor Details

    • MilvusEmbeddingStore

      @Deprecated(since="1.4.0") public MilvusEmbeddingStore(String host, Integer port, String collectionName, Integer dimension, io.milvus.param.IndexType indexType, io.milvus.param.MetricType metricType, String uri, String token, String username, String password, io.milvus.common.clientenum.ConsistencyLevelEnum consistencyLevel, Boolean retrieveEmbeddingsOnSearch, Boolean autoFlushOnInsert, String databaseName, String idFieldName, String textFieldName, String metadataFieldName, String vectorFieldName)
      Deprecated.
    • MilvusEmbeddingStore

      @Deprecated(since="1.4.0") public MilvusEmbeddingStore(io.milvus.client.MilvusServiceClient milvusClient, String collectionName, Integer dimension, io.milvus.param.IndexType indexType, io.milvus.param.MetricType metricType, io.milvus.common.clientenum.ConsistencyLevelEnum consistencyLevel, Boolean retrieveEmbeddingsOnSearch, Boolean autoFlushOnInsert, String idFieldName, String textFieldName, String metadataFieldName, String vectorFieldName)
      Deprecated.
    • MilvusEmbeddingStore

      public MilvusEmbeddingStore(MilvusEmbeddingStore.Builder builder)
  • Method Details

    • builder

      public static MilvusEmbeddingStore.Builder builder()
    • dropCollection

      public void dropCollection(String collectionName)
    • add

      public String add(Embedding embedding)
      Specified by:
      add in interface EmbeddingStore<TextSegment>
    • add

      public void add(String id, Embedding embedding)
      Specified by:
      add in interface EmbeddingStore<TextSegment>
    • add

      public String add(Embedding embedding, TextSegment textSegment)
      Specified by:
      add in interface EmbeddingStore<TextSegment>
    • addAll

      public List<String> addAll(List<Embedding> embeddings)
      Specified by:
      addAll in interface EmbeddingStore<TextSegment>
    • search

      public EmbeddingSearchResult<TextSegment> search(EmbeddingSearchRequest embeddingSearchRequest)
      Specified by:
      search in interface EmbeddingStore<TextSegment>
    • addAll

      public void addAll(List<String> ids, List<Embedding> embeddings, List<TextSegment> textSegments)
      Specified by:
      addAll in interface EmbeddingStore<TextSegment>
    • removeAll

      public void removeAll(Collection<String> ids)
      Removes a single embedding from the store by ID.

      CAUTION

      • Deleted entities can still be retrieved immediately after the deletion if the consistency level is set lower than Strong
      • Entities deleted beyond the pre-specified span of time for Time Travel cannot be retrieved again.
      • Frequent deletion operations will impact the system performance.
      • Before deleting entities by comlpex boolean expressions, make sure the collection has been loaded.
      • Deleting entities by complex boolean expressions is not an atomic operation. Therefore, if it fails halfway through, some data may still be deleted.
      • Deleting entities by complex boolean expressions is supported only when the consistency is set to Bounded. For details, see Consistency
      Specified by:
      removeAll in interface EmbeddingStore<TextSegment>
      Parameters:
      ids - A collection of unique IDs of the embeddings to be removed.
      Since:
      Milvus version 2.3.x
    • removeAll

      public void removeAll(Filter filter)
      Removes all embeddings that match the specified Filter from the store.

      CAUTION

      • Deleted entities can still be retrieved immediately after the deletion if the consistency level is set lower than Strong
      • Entities deleted beyond the pre-specified span of time for Time Travel cannot be retrieved again.
      • Frequent deletion operations will impact the system performance.
      • Before deleting entities by comlpex boolean expressions, make sure the collection has been loaded.
      • Deleting entities by complex boolean expressions is not an atomic operation. Therefore, if it fails halfway through, some data may still be deleted.
      • Deleting entities by complex boolean expressions is supported only when the consistency is set to Bounded. For details, see Consistency
      Specified by:
      removeAll in interface EmbeddingStore<TextSegment>
      Parameters:
      filter - The filter to be applied to the Metadata of the TextSegment during removal. Only embeddings whose TextSegment's Metadata match the Filter will be removed.
      Since:
      Milvus version 2.3.x
    • removeAll

      public void removeAll()
      Removes all embeddings from the store.

      CAUTION

      • Deleted entities can still be retrieved immediately after the deletion if the consistency level is set lower than Strong
      • Entities deleted beyond the pre-specified span of time for Time Travel cannot be retrieved again.
      • Frequent deletion operations will impact the system performance.
      • Before deleting entities by comlpex boolean expressions, make sure the collection has been loaded.
      • Deleting entities by complex boolean expressions is not an atomic operation. Therefore, if it fails halfway through, some data may still be deleted.
      • Deleting entities by complex boolean expressions is supported only when the consistency is set to Bounded. For details, see Consistency
      Specified by:
      removeAll in interface EmbeddingStore<TextSegment>
      Since:
      Milvus version 2.3.x