Spaces:
Running
Running
| import os | |
| from pathlib import Path | |
| class Config: | |
| """Configuration loaded from environment variables (OCR_ prefix).""" | |
| BASE_DIR = Path(__file__).parent | |
| # Core paths | |
| UPLOAD_DIR = Path(os.environ.get("OCR_UPLOAD_DIR", str(BASE_DIR / "uploads"))) | |
| # Security | |
| API_KEY = os.environ.get("OCR_API_KEY", "") | |
| # Server (defaults for HF Spaces: 0.0.0.0:7860) | |
| DEBUG = os.environ.get("OCR_DEBUG", "false").lower() == "true" | |
| HOST = os.environ.get("OCR_HOST", "0.0.0.0") | |
| PORT = int(os.environ.get("OCR_PORT", "7860")) | |
| # Limits | |
| MAX_CONTENT_LENGTH = int(os.environ.get("OCR_MAX_REQUEST_SIZE", str(10 * 1024 * 1024))) | |
| # HF Inference API (for VLM extraction) | |
| HF_API_TOKEN = os.environ.get("HF_API_TOKEN", "") | |
| VLM_MODEL = os.environ.get("OCR_VLM_MODEL", "Qwen/Qwen3-VL-8B-Instruct") | |
| VLM_PROVIDER = os.environ.get("OCR_VLM_PROVIDER", "novita") | |
| # Supported document types | |
| SUPPORTED_DOC_TYPES = {"sa_id_card", "sa_id_book", "passport"} | |
| # Logging | |
| LOG_LEVEL = os.environ.get("OCR_LOG_LEVEL", "INFO") | |
| LOG_FORMAT = os.environ.get("OCR_LOG_FORMAT", "json") | |