Class DefaultChatClient.DefaultChatClientRequestSpec
java.lang.Object
org.springframework.ai.chat.client.DefaultChatClient.DefaultChatClientRequestSpec
- All Implemented Interfaces:
ChatClient.ChatClientRequestSpec
- Enclosing class:
- DefaultChatClient
public static class DefaultChatClient.DefaultChatClientRequestSpec
extends Object
implements ChatClient.ChatClientRequestSpec
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultChatClientRequestSpec(ChatModel chatModel, @Nullable String userText, Map<String, Object> userParams, Map<String, Object> userMetadata, @Nullable String systemText, Map<String, Object> systemParams, Map<String, Object> systemMetadata, List<ToolCallback> toolCallbacks, List<ToolCallbackProvider> toolCallbackProviders, List<Message> messages, List<Media> media, @Nullable ChatOptions.Builder<?> customizer, List<Advisor> advisors, Map<String, Object> advisorParams, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, Map<String, Object> toolContext, @Nullable TemplateRenderer templateRenderer, @Nullable AdvisorObservationConvention advisorObservationConvention, ToolCallingAdvisor.Builder<?> toolCallingAdvisorBuilder) -
Method Summary
Modifier and TypeMethodDescriptionadvisors(Consumer<ChatClient.AdvisorSpec> consumer) call()getMedia()@Nullable String@Nullable Stringmutate()Return aChatClient.Builderto create a newChatClientwhose settings are replicated from thisChatClientRequest.<B extends ChatOptions.Builder<?>>
ChatClient.ChatClientRequestSpecoptions(B customizer) stream()system(Consumer<ChatClient.PromptSystemSpec> consumer) system(org.springframework.core.io.Resource text) templateRenderer(TemplateRenderer templateRenderer) toolCallbacks(List<ToolCallback> toolCallbacks) toolCallbacks(ToolCallback... toolCallbacks) toolCallbacks(ToolCallbackProvider... toolCallbackProviders) toolContext(Map<String, Object> toolContext) Register one or more tools for this chat request.user(Consumer<ChatClient.PromptUserSpec> consumer) user(org.springframework.core.io.Resource text)
-
Constructor Details
-
DefaultChatClientRequestSpec
public DefaultChatClientRequestSpec(ChatModel chatModel, @Nullable String userText, Map<String, Object> userParams, Map<String, Object> userMetadata, @Nullable String systemText, Map<String, Object> systemParams, Map<String, Object> systemMetadata, List<ToolCallback> toolCallbacks, List<ToolCallbackProvider> toolCallbackProviders, List<Message> messages, List<Media> media, @Nullable ChatOptions.Builder<?> customizer, List<Advisor> advisors, Map<String, Object> advisorParams, io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable ChatClientObservationConvention chatClientObservationConvention, Map<String, Object> toolContext, @Nullable TemplateRenderer templateRenderer, @Nullable AdvisorObservationConvention advisorObservationConvention, ToolCallingAdvisor.Builder<?> toolCallingAdvisorBuilder)
-
-
Method Details
-
getUserText
-
getUserParams
-
getUserMetadata
-
getSystemText
-
getSystemParams
-
getSystemMetadata
-
getAdvisors
-
getAdvisorParams
-
getMessages
-
getMedia
-
getToolCallbacks
-
getToolCallbackProviders
-
getToolContext
-
getTemplateRenderer
-
mutate
Return aChatClient.Builderto create a newChatClientwhose settings are replicated from thisChatClientRequest.- Specified by:
mutatein interfaceChatClient.ChatClientRequestSpec
-
advisors
- Specified by:
advisorsin interfaceChatClient.ChatClientRequestSpec
-
advisors
- Specified by:
advisorsin interfaceChatClient.ChatClientRequestSpec
-
advisors
- Specified by:
advisorsin interfaceChatClient.ChatClientRequestSpec
-
messages
- Specified by:
messagesin interfaceChatClient.ChatClientRequestSpec
-
messages
- Specified by:
messagesin interfaceChatClient.ChatClientRequestSpec
-
options
- Specified by:
optionsin interfaceChatClient.ChatClientRequestSpec
-
toolCallbacks
- Specified by:
toolCallbacksin interfaceChatClient.ChatClientRequestSpec
-
toolCallbacks
- Specified by:
toolCallbacksin interfaceChatClient.ChatClientRequestSpec
-
tools
Description copied from interface:ChatClient.ChatClientRequestSpecRegister one or more tools for this chat request. The method accepts a heterogeneous mix of tool representations and routes each element to the appropriate internal list automatically: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.
Mixed calls are fully supported:
chatClient.prompt() .tools(new DateTimeTools(), existingCallback, myProvider) .toolContext(Map.of("tenantId", "acme")) .call().content();Tools registered here are available only for this specific request. Use
ChatClient.Builder.defaultTools(Object...)to register tools that apply to every request built from the sameChatClient.Builder.- Specified by:
toolsin interfaceChatClient.ChatClientRequestSpec- Parameters:
toolObjects- tool objects to register; must not benulland must not containnullelements- Returns:
- this spec for chaining
-
toolCallbacks
public ChatClient.ChatClientRequestSpec toolCallbacks(ToolCallbackProvider... toolCallbackProviders) - Specified by:
toolCallbacksin interfaceChatClient.ChatClientRequestSpec
-
toolContext
- Specified by:
toolContextin interfaceChatClient.ChatClientRequestSpec
-
system
- Specified by:
systemin interfaceChatClient.ChatClientRequestSpec
-
system
public ChatClient.ChatClientRequestSpec system(org.springframework.core.io.Resource text, Charset charset) - Specified by:
systemin interfaceChatClient.ChatClientRequestSpec
-
system
- Specified by:
systemin interfaceChatClient.ChatClientRequestSpec
-
system
- Specified by:
systemin interfaceChatClient.ChatClientRequestSpec
-
user
- Specified by:
userin interfaceChatClient.ChatClientRequestSpec
-
user
public ChatClient.ChatClientRequestSpec user(org.springframework.core.io.Resource text, Charset charset) - Specified by:
userin interfaceChatClient.ChatClientRequestSpec
-
user
- Specified by:
userin interfaceChatClient.ChatClientRequestSpec
-
user
- Specified by:
userin interfaceChatClient.ChatClientRequestSpec
-
templateRenderer
- Specified by:
templateRendererin interfaceChatClient.ChatClientRequestSpec
-
call
- Specified by:
callin interfaceChatClient.ChatClientRequestSpec
-
stream
- Specified by:
streamin interfaceChatClient.ChatClientRequestSpec
-