Source code for swarmauri.core.prompts.ITemplate

from typing import Dict, List, Any, Union
from abc import ABC, abstractmethod


[docs] class ITemplate(ABC): """ Interface for template-based prompt generation within the SwarmAURI framework. Defines standard operations and attributes for managing and utilizing templates. """
[docs] @abstractmethod def set_template(self, template: str) -> None: """ Sets or updates the current template string. Args: template (str): The new template string to be used for generating prompts. """ pass
[docs] @abstractmethod def set_variables(self, variables: Union[List[Dict[str, Any]], Dict[str, Any]] = {}) -> None: """ Sets or updates the variables to be substituted into the template. Args: variables (List[Dict[str, str]]): A dictionary of variables where each key-value pair corresponds to a placeholder name and its replacement value in the template. """ pass
[docs] @abstractmethod def generate_prompt(self, **kwargs) -> str: """ Generates a prompt string based on the current template and provided keyword arguments. Args: **kwargs: Keyword arguments containing variables for template substitution. Returns: str: The generated prompt string with template variables replaced by their corresponding values provided in `kwargs`. """ pass