"""HF Spaces CPU 部署配置 — 无 MASt3R,DINOv2 reg4 模型,Qdrant 嵌入式""" import os import torch PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 强制 CPU 模式 DEVICE = "cpu" USE_HALF = False IMAGE_SIZE = 512 # 匹配 HF Spaces 免费 2vCPU 配置,显式设置线程数避免过度并发开销 torch.set_num_threads(2) # MASt3R 已禁用(CPU 部署,耗时过长) MAST3R_ROOT = None LOCAL_WEIGHTS = None # 历史图片存储 HISTORY_BASE_DIR = os.path.join(PROJECT_ROOT, 'History_imgs') SUPPORTED_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.tif', '.webp', '.jfif'} # Qdrant 嵌入式模式(无需独立服务进程) QDRANT_PATH = os.path.join(PROJECT_ROOT, 'qdrant_data') # --- DINOv2 阈值(保留兼容性) --- MIN_MATCHES = 20 MIN_INLIER_RATIO = 0.15 EDGE_MARGIN = 3 DINOV2_SIM_THRESHOLD = 0.45 DINOV2_HIGH_CONF_THRESHOLD = 0.7 STRICT_MIN_MATCHES = 100 STRICT_MIN_INLIER_RATIO = 0.50 MODERATE_MIN_MATCHES = 350 MODERATE_MIN_INLIER_RATIO = 0.55 # DINOv2-only 模式阈值(无 MASt3R):相似度 ≥ 此值 → 判定为同一场景 # reg4 模型的 CLS 特征质量更好,0.55 为推荐起始值,可按业务调优 DINOV2_ONLY_SAME_THRESHOLD = 0.5 # 日志目录 LOGS_DIR = os.path.join(PROJECT_ROOT, 'Logs') # --- 场景分类器 --- TEXT_AREA_WEIGHT = 0.15 WHITENESS_WEIGHT = 0.50 LOW_VARIANCE_WEIGHT = 0.25 LINE_DENSITY_WEIGHT = 0.10 DOC_SCORE_THRESHOLD = 0.45 # --- 文本场景比对 --- TEXT_SIM_WEIGHT = 0.6 SSIM_WEIGHT = 0.3 SEAL_WEIGHT = 0.1 TEXT_SCENE_THRESHOLD = 0.7 TEXT_SCENE_BGE_THRESHOLD = 0.85 # BGE 模型:使用 HuggingFace Hub 在线加载(Dockerfile 中预下载) BGE_MODEL_PATH = 'BAAI/bge-small-zh-v1.5'