Class PromptLoader

java.lang.Object
com.tnsai.prompt.PromptLoader

public class PromptLoader extends Object
Loads prompt templates from files and resources.

Supports loading from:

  • Classpath resources (e.g., prompts/agent.prompt)
  • File system paths
  • Directories (recursively)

File Format

Prompt files can include YAML-style front matter for metadata:
 ---
 version: 1.0.0
 description: Agent system prompt
 author: team-ai
 required: task, context
 tags: agent, system
 ---

 You are an AI assistant. Your task is {{task}}.

 Context:
 {{context}}
 

Usage


 PromptLoader loader = new PromptLoader();

 // Load single file
 PromptTemplate template = loader.loadFromResource("prompts/agent.prompt");

 // Load from directory
 Map<String, PromptTemplate> templates = loader.loadDirectory(Path.of("prompts"));
 
  • Constructor Details

    • PromptLoader

      public PromptLoader()
  • Method Details

    • loadFromResource

      public com.tnsai.prompt.PromptTemplate loadFromResource(String resourcePath)
      Loads a template from a classpath resource.
      Parameters:
      resourcePath - the resource path
      Returns:
      loaded template
      Throws:
      com.tnsai.prompt.PromptException - if loading fails
    • loadFromFile

      public com.tnsai.prompt.PromptTemplate loadFromFile(Path path)
      Loads a template from a file path.
      Parameters:
      path - the file path
      Returns:
      loaded template
      Throws:
      com.tnsai.prompt.PromptException - if loading fails
    • loadDirectory

      public Map<String,com.tnsai.prompt.PromptTemplate> loadDirectory(Path directory)
      Loads all templates from a directory recursively.
      Parameters:
      directory - the directory path
      Returns:
      map of template name to template
      Throws:
      com.tnsai.prompt.PromptException - if loading fails
    • loadDirectory

      public Map<String,com.tnsai.prompt.PromptTemplate> loadDirectory(Path directory, String glob)
      Loads templates from a directory matching a glob pattern.
      Parameters:
      directory - the directory path
      glob - the glob pattern (e.g., "*.prompt", "**\/*.st")
      Returns:
      map of template name to template
      Throws:
      com.tnsai.prompt.PromptException - if loading fails
    • loadFromResources

      public Map<String,com.tnsai.prompt.PromptTemplate> loadFromResources(String resourceDir, String... templateNames)
      Loads templates from classpath directory.
      Parameters:
      resourceDir - the resource directory
      templateNames - the template file names
      Returns:
      map of template name to template
    • parseTemplate

      public com.tnsai.prompt.PromptTemplate parseTemplate(String name, String content)
      Parses a template from content string.
      Parameters:
      name - the template name
      content - the content (may include front matter)
      Returns:
      parsed template