# ⚠️ Windows + NVIDIA 显卡手动安装建议：
#
# 这个项目现在默认按「Windows 独显优先」来配依赖。
# `requirements.txt` 里把 ONNX Runtime 切到了 GPU 版；但 `torch/torchvision`
# 不能只靠这一份文件从 PyPI 装，否则很容易又装回 CPU 版。
#
# 推荐顺序：
#   1) python -m pip install -r requirements.txt
#   2) python -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
#
# 装完后验证：
#   python -c "import torch, onnxruntime as ort; print(torch.__version__, torch.cuda.is_available(), torch.version.cuda); print(ort.get_available_providers())"
#
# 如果你的环境拉不下 cu128，可把上面的 `cu128` 换成 `cu126` 再试。
#
# ⚠️ OpenCV 注意事项（手动 pip install 走这条路径必读）：
#
# `insightface` 和 `pyiqa` 等会偷偷把 `opencv-python` 拉进来作传递依赖。
# 三个 OpenCV 包（opencv-python / opencv-python-headless / opencv-contrib-python）
# 共存会让 cv2 主包覆盖 contrib 的子模块——cv2.saliency 直接失效，
# 整个 expert 模式跑不起来。
#
# 装完 requirements 后，请务必执行：
#   pip uninstall -y opencv-python opencv-python-headless
#   pip install --force-reinstall --no-deps "opencv-contrib-python>=4.9"
#
# 一键启动器（scripts/launcher.py）会自动做这件事，手动模式需要自己做。

Pillow>=10.0
imagehash>=4.3
flask>=3.0
pillow-heif>=0.16
numpy>=1.26
scipy>=1.11

# OpenCV：显著性区算法用 contrib 版（含 cv2.saliency）
opencv-contrib-python>=4.9

# RAW 解码：提取 RAW 内嵌的 JPEG 预览图（毫秒级，不做 demosaic）。
# 也用作 RAW+JPG 同名配对时的兜底加载方案。
rawpy>=0.18

# 视觉语义特征（DINOv2）+ NIMA 美学评分（MobileNetV2）
# Windows + Python 3.11 直接锁定官方 CUDA 12.8 wheel，避免 pip 从 PyPI
# 选到更高版本的 CPU 版 torch。
https://download.pytorch.org/whl/cu128/torch-2.11.0%2Bcu128-cp311-cp311-win_amd64.whl ; platform_system == "Windows" and python_version == "3.11"
https://download.pytorch.org/whl/cu128/torchvision-0.26.0%2Bcu128-cp311-cp311-win_amd64.whl ; platform_system == "Windows" and python_version == "3.11"
torch>=2.2 ; platform_system != "Windows" or python_version != "3.11"
torchvision>=0.17 ; platform_system != "Windows" or python_version != "3.11"
transformers>=4.40

# 人脸检测 + ArcFace 512 维嵌入（RetinaFace + ArcFace via InsightFace）
insightface>=0.7
onnxruntime-gpu[cuda,cudnn]>=1.16; platform_system == "Windows"
onnxruntime>=1.16; platform_system != "Windows"

# 互补美学/质量评分（pyiqa: MUSIQ 技术质量 + CLIP-IQA+ LAION 美学）
pyiqa>=0.1.10
timm>=0.9

# 土豪模式 LLM 初筛（火山引擎 Ark，OpenAI 兼容协议）
openai>=1.40
piexif>=1.1.3
