Skip to main content

Table of Contents

Module spoon_ai.llm.registry

LLM Provider Registry for dynamic provider registration and discovery.

LLMProviderRegistry Objects​

class LLMProviderRegistry()

Registry for managing LLM provider classes and instances.

register​

def register(name: str, provider_class: Type[LLMProviderInterface]) -> None

Register a provider class.

Arguments:

  • name - Unique provider name
  • provider_class - Provider class implementing LLMProviderInterface

Raises:

  • ConfigurationError - If provider name already exists or class is invalid

get_provider​

def get_provider(
name: str,
config: Optional[Dict[str, Any]] = None) -> LLMProviderInterface

Get or create provider instance.

Arguments:

  • name - Provider name
  • config - Provider configuration (optional if already configured)

Returns:

  • LLMProviderInterface - Provider instance

Raises:

  • ConfigurationError - If provider not found or configuration invalid

list_providers​

def list_providers() -> List[str]

List all registered provider names.

Returns:

  • List[str] - List of provider names

get_capabilities​

def get_capabilities(name: str) -> List[ProviderCapability]

Get provider capabilities.

Arguments:

  • name - Provider name

Returns:

  • List[ProviderCapability] - List of supported capabilities

Raises:

  • ConfigurationError - If provider not found

is_registered​

def is_registered(name: str) -> bool

Check if a provider is registered.

Arguments:

  • name - Provider name

Returns:

  • bool - True if provider is registered

unregister​

def unregister(name: str) -> None

Unregister a provider.

Arguments:

  • name - Provider name

clear​

def clear() -> None

Clear all registered providers and instances.

register_provider​

def register_provider(name: str,
capabilities: Optional[List[ProviderCapability]] = None)

Decorator for automatic provider registration.

Arguments:

  • name - Provider name
  • capabilities - List of supported capabilities (optional)

Returns:

Decorator function

get_global_registry​

def get_global_registry() -> LLMProviderRegistry

Get the global provider registry instance.

Returns:

  • LLMProviderRegistry - Global registry instance