Files

35 lines
819 B
Python

"""
Provider implementations for SimpleChat.
"""
from .base import BaseProvider, ChatResponse, ChatConfig
from .openai import OpenAIProvider
from .claude import ClaudeProvider
from .gemini import GeminiProvider
PROVIDERS = {
"openai": OpenAIProvider,
"claude": ClaudeProvider,
"gemini": GeminiProvider,
}
def get_provider(config: ChatConfig) -> BaseProvider:
"""Get provider instance from config."""
provider_cls = PROVIDERS.get(config.provider)
if not provider_cls:
raise ValueError(f"Unknown provider: {config.provider}")
return provider_cls(api_key=config.api_key, base_url=config.base_url or None)
__all__ = [
"BaseProvider",
"ChatResponse",
"ChatConfig",
"OpenAIProvider",
"ClaudeProvider",
"GeminiProvider",
"PROVIDERS",
"get_provider",
]