Class RedisVLContentRetriever

java.lang.Object
com.redis.vl.langchain4j.RedisVLContentRetriever
All Implemented Interfaces:
dev.langchain4j.rag.content.retriever.ContentRetriever

public class RedisVLContentRetriever extends Object implements dev.langchain4j.rag.content.retriever.ContentRetriever
LangChain4J ContentRetriever implementation using RedisVL as the backend.

This retriever enables RAG (Retrieval-Augmented Generation) workflows by retrieving relevant content from Redis based on semantic similarity.

Example usage:


 // Create components
 EmbeddingStore<TextSegment> embeddingStore = new RedisVLEmbeddingStore(searchIndex);
 EmbeddingModel embeddingModel = new AllMiniLmL6V2EmbeddingModel();

 // Create retriever
 ContentRetriever retriever = RedisVLContentRetriever.builder()
     .embeddingStore(embeddingStore)
     .embeddingModel(embeddingModel)
     .maxResults(5)
     .minScore(0.7)
     .build();

 // Use in RAG chain
 String response = ConversationalRetrievalChain.builder()
     .chatLanguageModel(chatModel)
     .contentRetriever(retriever)
     .build()
     .execute("What is attention mechanism?");
 
  • Constructor Details

    • RedisVLContentRetriever

      public RedisVLContentRetriever(RedisVLEmbeddingStore embeddingStore, dev.langchain4j.model.embedding.EmbeddingModel embeddingModel)
      Creates a new RedisVLContentRetriever.
      Parameters:
      embeddingStore - The Redis embedding store
      embeddingModel - The embedding model to encode queries
    • RedisVLContentRetriever

      public RedisVLContentRetriever(RedisVLEmbeddingStore embeddingStore, dev.langchain4j.model.embedding.EmbeddingModel embeddingModel, int maxResults, double minScore)
      Creates a new RedisVLContentRetriever with custom parameters.
      Parameters:
      embeddingStore - The Redis embedding store
      embeddingModel - The embedding model to encode queries
      maxResults - Maximum number of results to return
      minScore - Minimum similarity score (0-1)
  • Method Details

    • retrieve

      public List<dev.langchain4j.rag.content.Content> retrieve(dev.langchain4j.rag.query.Query query)
      Specified by:
      retrieve in interface dev.langchain4j.rag.content.retriever.ContentRetriever
    • builder

      public static RedisVLContentRetriever.Builder builder()
      Creates a builder for RedisVLContentRetriever.
      Returns:
      A new builder instance