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 String
protected String
protected @Nullable Type
Fields inherited from class com.javaaidev.agenticpatterns.core.Agent
chatClient, observationRegistry
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TaskExecutionAgent
(org.springframework.ai.chat.client.ChatClient chatClient) protected
TaskExecutionAgent
(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) protected
TaskExecutionAgent
(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType) protected
TaskExecutionAgent
(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) 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 String name, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry) -
Method Summary
Modifier and TypeMethodDescriptionstatic <Req,
Res> DefaultTaskExecutionAgentBuilder <Req, Res> protected String
getName()
getPromptContext
(@Nullable Request request) Prepare for the values of variables in the prompt templateprotected String
Get the prompt templateprotected Response
instrumentedCall
(@Nullable Request request, Function<Request, Response> action) protected void
updateChatClientRequest
(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 -
name
-
-
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 String name, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry)
-
-
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
-
defaultBuilder
-