Class TaskExecutionAgent<Request,Response>
java.lang.Object
com.javaaidev.agenticpatterns.core.Agent
com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent<Request,Response>
- Type Parameters:
Request
- Type of task inputResponse
- Type of task output
- All Implemented Interfaces:
Function<Request,
Response>
- Direct Known Subclasses:
NoLLMTaskExecutionAgent
public abstract class TaskExecutionAgent<Request,Response>
extends Agent
implements Function<Request,Response>
Task Execution Agent, refer to the pattern
-
Field Summary
FieldsFields 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) -
Method Summary
Modifier and TypeMethodDescriptiongetPromptContext
(@Nullable Request request) Prepare for the values of variables in the prompt templateprotected abstract String
Get the prompt templateprotected Response
instrumentedCall
(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
-
-
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)
-
-
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
-
apply
-
call
-
instrumentedCall
-