Class EmbeddingMetadataUtils

java.lang.Object
dev.langchain4j.community.rag.content.util.EmbeddingMetadataUtils

public final class EmbeddingMetadataUtils extends Object
Utility class for storing and retrieving embeddings in TextSegment metadata. Since metadata only supports specific value types (String, UUID, primitives and their wrappers), embeddings are serialized to Base64 strings for storage and deserialized back to Embedding objects when retrieved.
  • Method Summary

    Modifier and Type
    Method
    Description
    static dev.langchain4j.data.segment.TextSegment
    enrichSegmentWithEmbeddings(dev.langchain4j.data.segment.TextSegment segment, dev.langchain4j.data.embedding.Embedding queryEmbedding, dev.langchain4j.data.embedding.Embedding documentEmbedding)
    Enriches a TextSegment with query and document embeddings stored in metadata.
    static dev.langchain4j.data.embedding.Embedding
    extractDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment)
     
    static dev.langchain4j.data.embedding.Embedding
    extractQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment)
     
    static boolean
    hasDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment)
     
    static boolean
    hasQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • enrichSegmentWithEmbeddings

      public static dev.langchain4j.data.segment.TextSegment enrichSegmentWithEmbeddings(dev.langchain4j.data.segment.TextSegment segment, dev.langchain4j.data.embedding.Embedding queryEmbedding, dev.langchain4j.data.embedding.Embedding documentEmbedding)
      Enriches a TextSegment with query and document embeddings stored in metadata. Since metadata only supports limited value types (String, UUID, int, Integer, long, Long, float, Float, double, Double), embeddings are converted to Base64 strings for storage.
      Parameters:
      segment - the original text segment
      queryEmbedding - the embedding of the query (can be null)
      documentEmbedding - the embedding of the document (can be null)
      Returns:
      a new TextSegment with embeddings stored in metadata
    • extractDocumentEmbedding

      public static dev.langchain4j.data.embedding.Embedding extractDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment)
    • extractQueryEmbedding

      public static dev.langchain4j.data.embedding.Embedding extractQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment)
    • hasDocumentEmbedding

      public static boolean hasDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment)
    • hasQueryEmbedding

      public static boolean hasQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment)