Class RoutingWorkflowAgent<Request,Response>

java.lang.Object
com.javaaidev.agenticpatterns.core.Agent
com.javaaidev.agenticpatterns.taskexecution.TaskExecutionAgent<Request,Response>
com.javaaidev.agenticpatterns.routingworkflow.RoutingWorkflowAgent<Request,Response>
Type Parameters:
Request - Task input type
Response - Task output type
All Implemented Interfaces:
Function<Request,Response>

public abstract class RoutingWorkflowAgent<Request,Response> extends TaskExecutionAgent<Request,Response>
Routing Workflow agent, refer to doc
  • Constructor Details

    • RoutingWorkflowAgent

      protected RoutingWorkflowAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable Type responseType, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry)
    • RoutingWorkflowAgent

      protected RoutingWorkflowAgent(org.springframework.ai.chat.client.ChatClient chatClient, @Nullable io.micrometer.observation.ObservationRegistry observationRegistry)
  • Method Details

    • addRoutingChoice

      protected void addRoutingChoice(RoutingChoice<Request,Response> routingChoice)
      Add a new routing choice
      Parameters:
      routingChoice - Routing choice
    • getPromptTemplate

      protected String getPromptTemplate()
      Specified by:
      getPromptTemplate in class TaskExecutionAgent<Request,Response>
    • getRoutingPromptTemplate

      protected String getRoutingPromptTemplate()
      Get the prompt template for routing
      Returns:
      Prompt template
    • formatRoutingInput

      protected String formatRoutingInput(@Nullable Request request)
      Generate the input used by the default prompt template
      Parameters:
      request - Request
      Returns:
      Input for routing prompt template
    • getRoutingPromptContext

      protected @Nullable Map<String,Object> getRoutingPromptContext(@Nullable RoutingRequest<Request,Response> routingRequest)
      Get values of variables used in the default prompt template
      Parameters:
      routingRequest - Routing request
      Returns:
      Values of variables
    • call

      public Response call(@Nullable Request request)
      Overrides:
      call in class TaskExecutionAgent<Request,Response>
    • doCall

      public Response doCall(@Nullable Request request)