| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import os
- from dataclasses import dataclass
- from pathlib import Path
- from dotenv import load_dotenv
- BACKEND_ROOT = Path(__file__).resolve().parents[1]
- load_dotenv(BACKEND_ROOT / ".env")
- @dataclass
- class Settings:
- app_name: str = "AutoFlow API"
- app_env: str = "dev"
- app_host: str = "0.0.0.0"
- app_port: int = 8000
- cors_origins: str = "*"
- llm_model_id: str = ""
- llm_api_key: str = ""
- llm_base_url: str = ""
- llm_timeout: int = 60
- agent_max_steps: int = 6
- validator_max_retries: int = 2
- @classmethod
- def from_env(cls) -> "Settings":
- return cls(
- app_name=os.getenv("APP_NAME", "AutoFlow API"),
- app_env=os.getenv("APP_ENV", "dev"),
- app_host=os.getenv("APP_HOST", "0.0.0.0"),
- app_port=int(os.getenv("APP_PORT", "8000")),
- cors_origins=os.getenv("CORS_ORIGINS", "*"),
- llm_model_id=os.getenv("LLM_MODEL_ID", ""),
- llm_api_key=os.getenv("LLM_API_KEY", ""),
- llm_base_url=os.getenv("LLM_BASE_URL", ""),
- llm_timeout=int(os.getenv("LLM_TIMEOUT", "60")),
- agent_max_steps=int(os.getenv("AGENT_MAX_STEPS", "6")),
- validator_max_retries=int(os.getenv("VALIDATOR_MAX_RETRIES", "2")),
- )
- settings = Settings.from_env()
|