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 nameprovider_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 nameconfig- 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 namecapabilities- 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