import logging from core.config import settings from .llm_providers.base_llm import BaseLLMProvider from .llm_providers.gemini_llm import GeminiLLM from .llm_providers.groq_llm import GroqLLM from .llm_providers.local_llm import LocalLLM logger = logging.getLogger("LLMFactory") class LLMFactory: """ Mẫu thiết kế Factory (Nhà máy) để tự động nạp Provider tuỳ theo cấu hình trong .env """ @staticmethod def get_provider() -> BaseLLMProvider: provider_name = settings.llm_provider.lower().strip() if provider_name == "gemini": return GeminiLLM() elif provider_name == "groq": return GroqLLM() elif provider_name == "local": return LocalLLM() else: logger.warning(f"Provider '{provider_name}' không được hỗ trợ. Khởi động mặc định: GeminiLLM") return GeminiLLM()