Skip to main content
Glama
juanqui
by juanqui
summarizer_factory.py1.75 kB
"""Factory for creating summarization service instances.""" import logging from typing import Optional from .config import ServerConfig from .exceptions import ConfigurationError from .summarizer_base import SummarizerService logger = logging.getLogger(__name__) def create_summarizer_service(config: ServerConfig) -> Optional[SummarizerService]: """Create a summarization service based on configuration. Args: config: Server configuration. Returns: SummarizerService instance or None if summarization is disabled. Raises: ConfigurationError: If the provider is unknown or service creation fails. """ if not config.enable_summarizer: logger.info("Summarization is disabled") return None provider = config.summarizer_provider.lower() logger.info(f"Creating summarizer service with provider: {provider}") try: if provider == "local": from .summarizer_local import LocalSummarizerService return LocalSummarizerService(config) elif provider == "remote" or provider == "openai": from .summarizer_remote import RemoteSummarizerService return RemoteSummarizerService(config) else: supported_providers = ["local", "remote", "openai"] raise ConfigurationError( f"Unknown summarizer provider: {provider}. " f"Supported: {', '.join(repr(p) for p in supported_providers)}" ) except Exception as e: if isinstance(e, ConfigurationError): raise provider_type = "local" if provider == "local" else "remote" raise ConfigurationError(f"Failed to create {provider_type} summarizer service: {e}")

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/juanqui/pdfkb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server