Package com.alibaba.cloud.ai.advisor
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.
Description Document retrieval advisor.
- Since:
- 1.0.0-M2
- Author:
- yuanci.ytb
-
Field Summary
FieldsFields inherited from interface org.springframework.ai.chat.client.advisor.api.Advisor
DEFAULT_CHAT_MEMORY_PRECEDENCE_ORDERFields inherited from interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor
DEFAULT_SCHEDULERFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionDocumentRetrievalAdvisor(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 strategyDocumentRetrievalAdvisor(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 customizationDocumentRetrievalAdvisor(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 TypeMethodDescriptionorg.springframework.ai.chat.client.ChatClientResponseafter(org.springframework.ai.chat.client.ChatClientResponse chatClientResponse, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain) org.springframework.ai.chat.client.ChatClientRequestbefore(org.springframework.ai.chat.client.ChatClientRequest request, org.springframework.ai.chat.client.advisor.api.AdvisorChain advisorChain) intgetOrder()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.ai.chat.client.advisor.api.BaseAdvisor
adviseCall, adviseStream, getName, getScheduler
-
Field Details
-
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 supportmergeStrategy- Strategy for merging results from multiple retrieversmaxResultsPerRetriever- 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 supportmergeStrategy- Strategy for merging results from multiple retrieversmaxResultsPerRetriever- Maximum results per retrieverpromptTemplate- Custom prompt templateorder- Advisor execution order
-
-
Method Details
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.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:
beforein interfaceorg.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:
afterin interfaceorg.springframework.ai.chat.client.advisor.api.BaseAdvisor
-