Class TaskExecutionAgent<Request,Response>
java.lang.Object
com.javaaidev.agenticpatterns.core.Agent
com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent<Request,Response>
- Type Parameters:
Request- Type of agent inputResponse- Type of agent output
- All Implemented Interfaces:
Function<Request,Response>
public abstract class TaskExecutionAgent<Request,Response>
extends Agent
implements Function<Request,Response>
Task Execution Agent, refer to the pattern
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected @Nullable Consumer<org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec> protected @Nullable McpClientConfigurationprotected Stringprotected com.fasterxml.jackson.databind.ObjectMapperprotected Stringprotected @Nullable TypeFields inherited from class com.javaaidev.agenticpatterns.core.Agent
chatClient, observationRegistry -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient) protectedTaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) protectedTaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType) protectedTaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) protectedTaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, String promptTemplate, @Nullable Type responseType, @Nullable Function<Request, Map<String, Object>> promptTemplateContextProvider, @Nullable Consumer<org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec> chatClientRequestSpecUpdater, @Nullable McpClientConfiguration mcpClientConfiguration, @Nullable Predicate<String> toolFilter, @Nullable String name, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
Method Summary
Modifier and TypeMethodDescriptionstatic <Req,Res> DefaultTaskExecutionAgentBuilder <Req, Res> protected StringgetName()getPromptContext(@Nullable Request request) Prepare for the values of variables in the prompt templateprotected StringGet the prompt templateprotected org.springframework.ai.tool.ToolCallbackProviderprotected ResponseinstrumentedCall(@Nullable Request request, Function<Request, Response> action) protected voidupdateChatClientRequest(org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec spec) Customize request sent to LLM
-
Field Details
-
responseType
-
promptTemplate
-
promptTemplateContextProvider
-
chatClientRequestSpecUpdater
protected @Nullable Consumer<org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec> chatClientRequestSpecUpdater -
mcpClientConfiguration
-
toolFilter
-
name
-
objectMapper
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Details
-
TaskExecutionAgent
protected TaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient) -
TaskExecutionAgent
protected TaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType) -
TaskExecutionAgent
protected TaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) -
TaskExecutionAgent
protected TaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) -
TaskExecutionAgent
protected TaskExecutionAgent(org.springframework.ai.chat.client.ChatClient chatClient, String promptTemplate, @Nullable Type responseType, @Nullable Function<Request, Map<String, Object>> promptTemplateContextProvider, @Nullable Consumer<org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec> chatClientRequestSpecUpdater, @Nullable McpClientConfiguration mcpClientConfiguration, @Nullable Predicate<String> toolFilter, @Nullable String name, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry, @Nullable com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Details
-
getPromptTemplate
Get the prompt template- Returns:
- prompt template
-
getPromptContext
Prepare for the values of variables in the prompt template- Parameters:
request- Task input- Returns:
- Values of values
-
updateChatClientRequest
protected void updateChatClientRequest(org.springframework.ai.chat.client.ChatClient.ChatClientRequestSpec spec) Customize request sent to LLM- Parameters:
spec- ChatClient.ChatClientRequestSpec from Spring AI
-
getName
-
apply
-
call
-
instrumentedCall
-
getToolCallbackProvider
protected org.springframework.ai.tool.ToolCallbackProvider getToolCallbackProvider() -
defaultBuilder
-