from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): DATABASE_URL: str JWT_SECRET: str REDIS_URL: str = "redis://localhost:6379/0" MODEL_DIR: str = "../models/" UPLOAD_DIR: str = "uploads/" LOG_LEVEL: str = "INFO" ENABLE_LLM_EXPLANATION: bool = True HUGGINGFACE_API_KEY: str | None = None API_URL: str = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.3" SESSION_SECRET_KEY: str = "fallback_secret_if_not_found" GOOGLE_CLIENT_ID: str | None = None GOOGLE_CLIENT_SECRET: str | None = None SMTP_USER: str | None = None SMTP_PASSWORD: str | None = None SMTP_SENDER_EMAIL: str | None = None SMTP_PORT: int = 587 SMTP_SERVER: str | None = None BREVO_API_KEY: str | None = None FRONTEND_URL: str = "http://localhost:3000" TURNSTILE_SECRET_KEY: str | None = None R2_ENDPOINT_URL: str | None = None R2_ACCESS_KEY_ID: str | None = None R2_SECRET_ACCESS_KEY: str | None = None R2_BUCKET_NAME: str | None = None model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore" ) settings = Settings()