Class EmbeddingMetadataUtils
java.lang.Object
dev.langchain4j.community.rag.content.util.EmbeddingMetadataUtils
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 TypeMethodDescriptionstatic dev.langchain4j.data.segment.TextSegmentenrichSegmentWithEmbeddings(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.EmbeddingextractDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment) static dev.langchain4j.data.embedding.EmbeddingextractQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment) static booleanhasDocumentEmbedding(dev.langchain4j.data.segment.TextSegment segment) static booleanhasQueryEmbedding(dev.langchain4j.data.segment.TextSegment segment)
-
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 segmentqueryEmbedding- 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)
-