Spaces:
Paused
Paused
| """LLM layer: provider abstraction, concrete providers, service and fake.""" | |
| from .base import ( | |
| FakeLLMProvider, | |
| LLMGenerationError, | |
| LLMProvider, | |
| LLMProviderError, | |
| StructuredOutputError, | |
| ) | |
| from .cursor_provider import CursorCloudProvider | |
| from .kimi_provider import KimiProvider | |
| from .openrouter_provider import OpenRouterProvider | |
| from .service import LLMService, extract_json_object | |
| def create_llm_provider(settings): | |
| """Construct the provider selected in configuration.""" | |
| provider_name = (settings.llm_provider or "cursor").strip().lower() | |
| if provider_name == "cursor": | |
| return CursorCloudProvider(settings) | |
| if provider_name == "kimi": | |
| return KimiProvider(settings) | |
| if provider_name in ("openrouter", "groq", "gemini", "openai"): | |
| return OpenRouterProvider(settings) | |
| raise RuntimeError(f"Unsupported LLM provider: {provider_name!r}") | |
| __all__ = [ | |
| "CursorCloudProvider", | |
| "FakeLLMProvider", | |
| "KimiProvider", | |
| "LLMGenerationError", | |
| "LLMProvider", | |
| "LLMProviderError", | |
| "LLMService", | |
| "OpenRouterProvider", | |
| "StructuredOutputError", | |
| "create_llm_provider", | |
| "extract_json_object", | |
| ] |