Gateway / src /core /config.py
Adidasa108's picture
Create core/config.py
69fcbaa verified
Raw
History Blame Contribute Delete
2.59 kB
import os
from dotenv import load_dotenv
load_dotenv()
DEFAULT_PINECONE_KEY = os.getenv("DEFAULT_PINECONE_KEY", "")
DEFAULT_CLOUDINARY_URL = os.getenv("DEFAULT_CLOUDINARY_URL", "")
IDX_FACES = os.getenv("IDX_FACES", "enterprise-faces")
IDX_OBJECTS = os.getenv("IDX_OBJECTS", "enterprise-objects")
MAX_CONCURRENT_INFERENCES = int(os.getenv("MAX_CONCURRENT_INFERENCES", "1"))
MAX_FILES_PER_UPLOAD = int(os.getenv("MAX_FILES_PER_UPLOAD", "50"))
INFERENCE_CACHE_SIZE = int(os.getenv("INFERENCE_CACHE_SIZE", "128"))
SUPABASE_URL = os.getenv("SUPABASE_URL", "")
SUPABASE_SERVICE_KEY = os.getenv("SUPABASE_SERVICE_KEY", "")
MAX_IMAGE_SIZE = int(os.getenv("MAX_IMAGE_SIZE", "1024"))
MAX_CROPS = int(os.getenv("MAX_CROPS", "10"))
YOLO_PERSON_CLASS_ID = 0
YOLO_MIN_CROP_PX = int(os.getenv("YOLO_MIN_CROP_PX", "50"))
YOLO_CONF_THRESHOLD = float(os.getenv("YOLO_CONF_THRESHOLD", "0.25"))
DET_SIZE_PRIMARY = (640, 640)
DET_SCALES = [(1280, 1280), (960, 960), (640, 640)]
IOU_DEDUP_THRESHOLD = float(os.getenv("IOU_DEDUP_THRESHOLD", "0.4"))
MIN_FACE_SIZE = int(os.getenv("MIN_FACE_SIZE", "30"))
MAX_FACES_PER_IMAGE = int(os.getenv("MAX_FACES_PER_IMAGE", "20"))
FACE_QUALITY_GATE = float(os.getenv("FACE_QUALITY_GATE", "0.5"))
FACE_QUALITY_GATE_UPLOAD = float(os.getenv("FACE_QUALITY_GATE_UPLOAD", "0.5"))
FACE_QUALITY_GATE_SEARCH = float(os.getenv("FACE_QUALITY_GATE_SEARCH", "0.35"))
FACE_DIM = 512
ADAFACE_DIM = 512
FUSED_FACE_DIM = 1024
FACE_CROP_THUMB_SIZE = int(os.getenv("FACE_CROP_THUMB_SIZE", "112"))
FACE_CROP_QUALITY = int(os.getenv("FACE_CROP_QUALITY", "85"))
FACE_CROP_PADDING = float(os.getenv("FACE_CROP_PADDING", "0.2"))
ADAFACE_CROP_PADDING = float(os.getenv("ADAFACE_CROP_PADDING", "0.1"))
ENABLE_ADAFACE = int(os.getenv("ENABLE_ADAFACE", "1"))
HF_TOKEN = os.getenv("HF_TOKEN", "")
# Face matching — threshold moved from db_client.py to be env-tunable
FACE_MATCH_THRESHOLD = float(os.getenv("FACE_MATCH_THRESHOLD", "0.35"))
FACE_SCORE_THRESHOLD = float(os.getenv("FACE_SCORE_THRESHOLD", "0.50"))
FACE_SCORE_K = float(os.getenv("FACE_SCORE_K", "18.0"))
# Multi-scale early exit — skip smaller scales once MAX_FACES_PER_IMAGE found
FAST_DETECT = bool(int(os.getenv("FAST_DETECT", "1")))
# Redis cache (Upstash)
REDIS_URL = os.getenv("REDIS_URL", "")
REDIS_TTL_INFERENCE = int(os.getenv("REDIS_TTL_INFERENCE", "3600"))
REDIS_TTL_SEARCH = int(os.getenv("REDIS_TTL_SEARCH", "300"))
REDIS_TTL_CATEGORIES = int(os.getenv("REDIS_TTL_CATEGORIES", "120"))
# Distributed HF Spaces
FACE_SPACE_URL = os.getenv("FACE_SPACE_URL", "")
OBJECT_SPACE_URL = os.getenv("OBJECT_SPACE_URL", "")