Class PromptEnhancer

java.lang.Object
com.tnsai.prompt.strategy.PromptEnhancer

public class PromptEnhancer extends Object
Fluent builder for combining prompt enhancement strategies.

PromptEnhancer allows combining multiple prompting techniques to improve LLM response quality.

Usage


 // Simple usage with single strategy
 PromptEnhancer enhancer = PromptEnhancer.withStrategy(PromptStrategy.CHAIN_OF_THOUGHT);
 EnhancedPrompt prompt = enhancer.enhance("Solve: 2x + 5 = 15");

 // Builder with multiple strategies
 PromptEnhancer enhancer = PromptEnhancer.builder()
     .strategy(PromptStrategy.CHAIN_OF_THOUGHT)
     .strategy(PromptStrategy.CONFIDENCE_WEIGHTED)
     .role("Expert mathematician")
     .objective("Solve algebra problems accurately")
     .constraints(List.of("Show all work", "Verify answer"))
     .outputFormat(OutputFormat.STRUCTURED)
     .build();

 EnhancedPrompt prompt = enhancer.enhance("What is 15% of 240?");

 // Use with LLM client
 ChatResponse response = client.chat(
     prompt.getUserMessage(),
     Optional.of(prompt.getSystemPrompt()),
     Optional.empty(),
     Optional.empty()
 );
 
  • Method Details

    • withStrategy

      public static PromptEnhancer withStrategy(PromptStrategy strategy)
      Creates an enhancer with a single strategy.
    • builder

      public static PromptEnhancer.Builder builder()
      Creates a new builder.
    • enhance

      public EnhancedPrompt enhance(String userMessage)
      Enhances a user message with configured strategies.
      Parameters:
      userMessage - The original user message
      Returns:
      Enhanced prompt with system instructions
    • getStrategies

      public List<PromptStrategy> getStrategies()
      Gets the configured strategies.
    • requiresMultiPass

      public boolean requiresMultiPass()
      Returns true if any strategy requires multiple LLM calls.