config.py 876 B

12345678910111213141516171819202122232425262728293031
  1. import os
  2. from typing import Optional
  3. from dataclasses import dataclass
  4. try:
  5. # Load variables from a local .env if present
  6. from dotenv import load_dotenv # type: ignore
  7. load_dotenv()
  8. except Exception:
  9. # If python-dotenv isn't installed, skip silently. Env vars still work.
  10. pass
  11. @dataclass
  12. class Settings:
  13. llm_provider: str = os.getenv("LLM_PROVIDER", "mock").lower()
  14. default_model: str = os.getenv("LLM_MODEL", "mock-echo-001")
  15. temperature: float = float(os.getenv("LLM_TEMPERATURE", "1.0"))
  16. openai_api_key: Optional[str] = os.getenv("OPENAI_API_KEY")
  17. dashscope_api_key: Optional[str] = (
  18. os.getenv("DASHSCOPE_API_KEY") or os.getenv("APIKEY")
  19. )
  20. upload_path: Optional[str] = os.getenv(
  21. "UPLOAD_PATH", "https://api.piaoquantv.com/ad/file/upload"
  22. )
  23. def get_settings() -> Settings:
  24. return Settings()