Spaces:
Sleeping
Sleeping
| import os | |
| from dataclasses import dataclass | |
| from functools import lru_cache | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| class Settings: | |
| app_name: str | |
| version: str | |
| upload_dir: Path | |
| output_dir: Path | |
| max_upload_mb: int | |
| max_pdf_pages: int | |
| deepseek_api_key: str | None | |
| deepseek_base_url: str | |
| deepseek_model: str | |
| log_level: str | |
| def max_upload_bytes(self) -> int: | |
| return self.max_upload_mb * 1024 * 1024 | |
| def deepseek_available(self) -> bool: | |
| return bool(self.deepseek_api_key) | |
| def get_settings() -> Settings: | |
| return Settings( | |
| app_name=os.getenv("APP_NAME", "BitCheck Document Verification API"), | |
| version=os.getenv("VERSION", "1.0.0"), | |
| upload_dir=Path(os.getenv("UPLOAD_DIR", "uploads")), | |
| output_dir=Path(os.getenv("OUTPUT_DIR", "outputs")), | |
| max_upload_mb=int(os.getenv("MAX_UPLOAD_MB", "20")), | |
| max_pdf_pages=int(os.getenv("MAX_PDF_PAGES", "5")), | |
| deepseek_api_key=os.getenv("DEEPSEEK_API_KEY"), | |
| deepseek_base_url=os.getenv("DEEPSEEK_BASE_URL", "https://api.deepseek.com"), | |
| deepseek_model=os.getenv("DEEPSEEK_MODEL", "deepseek-chat"), | |
| log_level=os.getenv("LOG_LEVEL", "INFO"), | |
| ) | |