Interface ChatClient.Builder
- All Known Implementing Classes:
DefaultChatClientBuilder
- Enclosing interface:
- ChatClient
public static interface ChatClient.Builder
A mutable builder for creating a
ChatClient.-
Method Summary
Modifier and TypeMethodDescriptionbuild()clone()defaultAdvisors(Consumer<ChatClient.AdvisorSpec> advisorSpecConsumer) defaultAdvisors(List<Advisor> advisors) defaultAdvisors(Advisor... advisors) defaultOptions(ChatOptions.Builder chatOptions) defaultSystem(String text) defaultSystem(Consumer<ChatClient.PromptSystemSpec> systemSpecConsumer) defaultSystem(org.springframework.core.io.Resource text) defaultSystem(org.springframework.core.io.Resource text, Charset charset) defaultTemplateRenderer(TemplateRenderer templateRenderer) defaultToolCallbacks(List<ToolCallback> toolCallbacks) Deprecated, for removal: This API element is subject to removal in a future version.defaultToolCallbacks(ToolCallback... toolCallbacks) Deprecated, for removal: This API element is subject to removal in a future version.as of 2.0.0, in favor ofdefaultTools(Object...).defaultToolCallbacks(ToolCallbackProvider... toolCallbackProviders) Deprecated, for removal: This API element is subject to removal in a future version.as of 2.0.0, in favor ofdefaultTools(Object...).defaultToolContext(Map<String, Object> toolContext) defaultTools(Object... tools) Register one or more default tools that will be available to every request built from thisChatClient.Builder.defaultUser(String text) defaultUser(Consumer<ChatClient.PromptUserSpec> userSpecConsumer) defaultUser(org.springframework.core.io.Resource text) defaultUser(org.springframework.core.io.Resource text, Charset charset)
-
Method Details
-
defaultAdvisors
-
defaultAdvisors
-
defaultAdvisors
-
defaultOptions
-
defaultUser
-
defaultUser
-
defaultUser
-
defaultUser
-
defaultSystem
-
defaultSystem
-
defaultSystem
-
defaultSystem
-
defaultTemplateRenderer
-
defaultTools
Register one or more default tools that will be available to every request built from thisChatClient.Builder. The method accepts the same heterogeneous mix of tool representations asChatClient.ChatClientRequestSpec.tools(Object...)and applies the same automatic dispatch rules:ToolCallback— registered directly as a callback.ToolCallbackProvider— registered directly as a provider; its callbacks are resolved lazily at request time.ToolCallback[]orToolCallbackProvider[]— every element of the array is registered as above.Collection— iterated and each element is dispatched by the same rules.- Any other object — treated as a
@Tool-annotated POJO; aToolCallbackis generated for eachTool-annotated method it contains.
Default tools are shared across all requests produced by
ChatClientinstances built from this builder. If a request also provides its own tools viaChatClient.ChatClientRequestSpec.tools(Object...), those runtime tools completely override the defaults for that request.WARNING: Because default tools are shared, be careful not to register tools that should only be available in specific contexts.
- Parameters:
tools- tool objects to register; must not benulland must not containnullelements- Returns:
- this builder for chaining
- Throws:
IllegalArgumentException- iftoolsisnull, containsnullelements, or if a POJO argument has noTool-annotated methods
-
defaultToolCallbacks
@Deprecated(since="2.0.0", forRemoval=true) ChatClient.Builder defaultToolCallbacks(ToolCallback... toolCallbacks) Deprecated, for removal: This API element is subject to removal in a future version.as of 2.0.0, in favor ofdefaultTools(Object...). To be removed in 3.0.0. -
defaultToolCallbacks
@Deprecated(since="2.0.0", forRemoval=true) ChatClient.Builder defaultToolCallbacks(List<ToolCallback> toolCallbacks) Deprecated, for removal: This API element is subject to removal in a future version.as of 2.0.0, in favor ofdefaultTools(Object...). To be removed in 3.0.0. -
defaultToolCallbacks
@Deprecated(since="2.0.0", forRemoval=true) ChatClient.Builder defaultToolCallbacks(ToolCallbackProvider... toolCallbackProviders) Deprecated, for removal: This API element is subject to removal in a future version.as of 2.0.0, in favor ofdefaultTools(Object...). To be removed in 3.0.0. -
defaultToolContext
-
clone
ChatClient.Builder clone() -
build
ChatClient build()
-
defaultTools(Object...).