from functools import lru_cache from app.clients.llm.base import LLMClient from app.clients.llm.zhipuai_client import ZhipuAIClient from app.clients.storage.base import StorageClient from app.clients.storage.rustfs_client import RustFSClient from app.core.config import get_config @lru_cache(maxsize=1) def get_llm_client() -> LLMClient: cfg = get_config() return ZhipuAIClient(api_key=cfg["zhipuai"]["api_key"]) @lru_cache(maxsize=1) def get_storage_client() -> StorageClient: cfg = get_config() return RustFSClient( endpoint=cfg["storage"]["endpoint"], access_key=cfg["storage"]["access_key"], secret_key=cfg["storage"]["secret_key"], )