Skip to content

azad.prompts.registry Module

azad.prompts.registry

Registry for prompt dialects.

Classes

PromptDialectRegistry

Bases: ABCMeta

Metaclass for registering prompt dialects automatically.

Inherits from ABCMeta to properly support abstract base classes while adding dialect registration functionality.

Functions
get classmethod
get(mcs, name: str) -> Optional[Type[Dialect]]

Get a registered prompt dialect class by name.

Parameters:

  • name (str) –

    The name of the dialect to retrieve

Returns:

  • Optional[Type[Dialect]]

    The dialect class if found, None otherwise

Source code in azad/prompts/registry.py
@classmethod
def get(mcs, name: str) -> Optional[Type[Dialect]]:
    """Get a registered prompt dialect class by name.

    Args:
        name: The name of the dialect to retrieve

    Returns:
        The dialect class if found, None otherwise
    """
    return mcs._registry.get(name.lower())
create classmethod
create(mcs, name: str, **config_params) -> Dialect

Create a new instance of a registered prompt dialect.

Parameters:

  • name (str) –

    The name of the dialect to create

  • **config

    Configuration options for the dialect

Returns:

  • Dialect

    A new instance of the requested dialect

Raises:

  • ValueError

    If the requested dialect is not registered

Source code in azad/prompts/registry.py
@classmethod
def create(mcs, name: str, **config_params) -> Dialect:
    """Create a new instance of a registered prompt dialect.

    Args:
        name: The name of the dialect to create
        **config: Configuration options for the dialect

    Returns:
        A new instance of the requested dialect

    Raises:
        ValueError: If the requested dialect is not registered
    """
    dialect_class = mcs.get(name)
    if not dialect_class:
        raise ValueError(f"No dialect registered with name: {name}")
    config = dialect_class.config_cls(**config_params)
    return dialect_class(config) # type: ignore
list_dialects classmethod
list_dialects(mcs) -> Dict[str, Type[Dialect]]

Get a dictionary of all registered dialects.

Returns:

  • Dict[str, Type[Dialect]]

    A dictionary mapping dialect names to their classes

Source code in azad/prompts/registry.py
@classmethod
def list_dialects(mcs) -> Dict[str, Type[Dialect]]:
    """Get a dictionary of all registered dialects.

    Returns:
        A dictionary mapping dialect names to their classes
    """
    return dict(mcs._registry)
clear classmethod
clear(mcs) -> None

Clear all registered dialects.

This is primarily useful for testing.

Source code in azad/prompts/registry.py
@classmethod
def clear(mcs) -> None:
    """Clear all registered dialects.

    This is primarily useful for testing.
    """
    mcs._registry.clear()