Files
poc_system/chat/llm_factory.py

27 lines
934 B
Python

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()