import os from typing import Optional from dataclasses import dataclass try: # Load variables from a local .env if present from dotenv import load_dotenv # type: ignore load_dotenv() except Exception: # If python-dotenv isn't installed, skip silently. Env vars still work. pass @dataclass class Settings: llm_provider: str = os.getenv("LLM_PROVIDER", "mock").lower() default_model: str = os.getenv("LLM_MODEL", "mock-echo-001") temperature: float = float(os.getenv("LLM_TEMPERATURE", "1.0")) openai_api_key: Optional[str] = os.getenv("OPENAI_API_KEY") dashscope_api_key: Optional[str] = ( os.getenv("DASHSCOPE_API_KEY") or os.getenv("APIKEY") ) upload_path: Optional[str] = os.getenv( "UPLOAD_PATH", "https://api.piaoquantv.com/ad/file/upload" ) def get_settings() -> Settings: return Settings()