Class ToolCallAdvisor.Builder<T extends ToolCallAdvisor.Builder<T>>
java.lang.Object
org.springframework.ai.chat.client.advisor.ToolCallAdvisor.Builder<T>
- Type Parameters:
T- the builder type, used for self-referential generics to support method chaining in subclasses
- Enclosing class:
- ToolCallAdvisor
Builder for creating instances of ToolCallAdvisor.
This builder uses the self-referential generic pattern to support extensibility.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadvisorOrder(int advisorOrder) Sets the order of the advisor in the advisor chain.build()Builds and returns a new ToolCallAdvisor instance with the configured properties.conversationHistoryEnabled(boolean conversationHistoryEnabled) Sets whether internal conversation history is enabled.copy()Creates a shallow copy of this builder with all current settings.Disables internal conversation history.intReturns the configured advisor order.protected org.springframework.ai.model.tool.ToolCallingManagerReturns the configured ToolCallingManager.protected booleanReturns whether internal conversation history is enabled.protected booleanReturns whether tool call responses should be streamed.protected Tself()Returns this builder cast to the appropriate type for method chaining.streamToolCallResponses(boolean streamToolCallResponses) Sets whether intermediate tool call responses should be streamed to downstream consumers.toolCallingManager(org.springframework.ai.model.tool.ToolCallingManager toolCallingManager) Sets the ToolCallingManager to be used by the advisor.
-
Constructor Details
-
Builder
protected Builder()
-
-
Method Details
-
self
Returns this builder cast to the appropriate type for method chaining. Subclasses should override this method to return the correct type.- Returns:
- this builder instance
-
toolCallingManager
public T toolCallingManager(org.springframework.ai.model.tool.ToolCallingManager toolCallingManager) Sets the ToolCallingManager to be used by the advisor.- Parameters:
toolCallingManager- the ToolCallingManager instance- Returns:
- this Builder instance for method chaining
-
advisorOrder
Sets the order of the advisor in the advisor chain.- Parameters:
advisorOrder- the order value, must be between HIGHEST_PRECEDENCE and LOWEST_PRECEDENCE- Returns:
- this Builder instance for method chaining
-
conversationHistoryEnabled
Sets whether internal conversation history is enabled. If false, you need a ChatMemory Advisor registered next in the chain.- Parameters:
conversationHistoryEnabled- true to enable, false to disable- Returns:
- this Builder instance for method chaining
-
disableInternalConversationHistory
Disables internal conversation history. You need a ChatMemory Advisor registered next in the chain.- Returns:
- this Builder instance for method chaining
-
streamToolCallResponses
Sets whether intermediate tool call responses should be streamed to downstream consumers. When enabled (default), all chunks including tool call responses are streamed in real-time. When disabled, only the final answer chunks are streamed, and intermediate tool call responses are filtered out.- Parameters:
streamToolCallResponses- true to stream tool call responses (default), false to filter them out- Returns:
- this Builder instance for method chaining
-
getToolCallingManager
protected org.springframework.ai.model.tool.ToolCallingManager getToolCallingManager()Returns the configured ToolCallingManager.- Returns:
- the ToolCallingManager instance
-
getAdvisorOrder
public int getAdvisorOrder()Returns the configured advisor order.- Returns:
- the advisor order value
-
copy
Creates a shallow copy of this builder with all current settings. The copy can be used as a template from which per-call overrides (e.g.conversationHistoryEnabled,streamToolCallResponses) are applied without mutating the original.- Returns:
- a new
ToolCallAdvisor.Builderwith the same configuration
-
isStreamToolCallResponses
protected boolean isStreamToolCallResponses()Returns whether tool call responses should be streamed.- Returns:
- true if tool call responses should be streamed
-
isConversationHistoryEnabled
protected boolean isConversationHistoryEnabled()Returns whether internal conversation history is enabled.- Returns:
- true if internal conversation history is enabled, false if disabled
-
build
Builds and returns a new ToolCallAdvisor instance with the configured properties.- Returns:
- a new ToolCallAdvisor instance
- Throws:
IllegalArgumentException- if toolCallingManager is null or advisorOrder is out of valid range
-