Class DocumentRetrievalAdvisor

java.lang.Object
com.alibaba.cloud.ai.advisor.DocumentRetrievalAdvisor
All Implemented Interfaces:
org.springframework.ai.chat.client.advisor.api.Advisor, org.springframework.ai.chat.client.advisor.api.BaseAdvisor, org.springframework.ai.chat.client.advisor.api.CallAdvisor, org.springframework.ai.chat.client.advisor.api.StreamAdvisor, org.springframework.core.Ordered

public class DocumentRetrievalAdvisor extends Object implements org.springframework.ai.chat.client.advisor.api.BaseAdvisor
Title Document retrieval advisor.
Description Document retrieval advisor.
Since:
1.0.0-M2
Author:
yuanci.ytb
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static String
     

    Fields inherited from interface org.springframework.ai.chat.client.advisor.api.Advisor

    DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDER

    Fields inherited from interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor

    DEFAULT_SCHEDULER

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers)
     
    DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, CompositeDocumentRetriever.ResultMergeStrategy mergeStrategy, int maxResultsPerRetriever)
    Constructor for multiple vector stores with custom merge strategy
    DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, CompositeDocumentRetriever.ResultMergeStrategy mergeStrategy, int maxResultsPerRetriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
    Constructor for multiple vector stores with full customization
    DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate)
     
    DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
     
    DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever)
     
    DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate)
     
    DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.ai.chat.client.ChatClientResponse
    after(org.springframework.ai.chat.client.ChatClientResponse chatClientResponse, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain)
     
    org.springframework.ai.chat.client.ChatClientRequest
    before(org.springframework.ai.chat.client.ChatClientRequest request, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain)
     
    int
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor

    adviseCall, adviseStream, getName, getScheduler
  • Field Details

    • RETRIEVED_DOCUMENTS

      public static String RETRIEVED_DOCUMENTS
  • Constructor Details

    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(org.springframework.ai.rag.retrieval.search.DocumentRetriever retriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, CompositeDocumentRetriever.ResultMergeStrategy mergeStrategy, int maxResultsPerRetriever)
      Constructor for multiple vector stores with custom merge strategy
      Parameters:
      retrievers - List of document retrievers for multi-vector store support
      mergeStrategy - Strategy for merging results from multiple retrievers
      maxResultsPerRetriever - Maximum results per retriever
    • DocumentRetrievalAdvisor

      public DocumentRetrievalAdvisor(List<org.springframework.ai.rag.retrieval.search.DocumentRetriever> retrievers, CompositeDocumentRetriever.ResultMergeStrategy mergeStrategy, int maxResultsPerRetriever, org.springframework.ai.chat.prompt.PromptTemplate promptTemplate, int order)
      Constructor for multiple vector stores with full customization
      Parameters:
      retrievers - List of document retrievers for multi-vector store support
      mergeStrategy - Strategy for merging results from multiple retrievers
      maxResultsPerRetriever - Maximum results per retriever
      promptTemplate - Custom prompt template
      order - Advisor execution order
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • before

      public org.springframework.ai.chat.client.ChatClientRequest before(org.springframework.ai.chat.client.ChatClientRequest request, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain)
      Specified by:
      before in interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor
    • after

      public org.springframework.ai.chat.client.ChatClientResponse after(org.springframework.ai.chat.client.ChatClientResponse chatClientResponse, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain)
      Specified by:
      after in interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor