# ============================================================
# NDSS-2026 pipeline requirements
# 這份 requirements.txt 是掃描 Codes/ 底下所有 .py 的 import 語句
# 反推整理出來的，原始 SortedCode.tgz 沒有附官方版本。
# 版本號為建議下限，實際版本請依照你的 CUDA / GPU 驅動調整。
# ============================================================

# --- 核心深度學習框架 ---
# torch 請依官方指南搭配你的 CUDA 版本安裝（見 https://pytorch.org/get-started/locally/），
# 不要直接依賴這行的預設 CPU 版本。
torch>=2.3.0

# --- Hugging Face 生態系 ---
transformers>=4.43.0
accelerate>=0.30.0
peft>=0.11.0
bitsandbytes>=0.43.0
huggingface_hub>=0.23.0
tokenizers>=0.19.0
sentencepiece>=0.2.0

# --- Flash Attention 2 ---
# _tuning.modified.py 開頭會檢查 flash_attention_2 是否可用，不支援會直接 RuntimeError。
# 需要 Linux 或 WSL2 + 對應 CUDA 版本才能編譯安裝，Windows 原生不支援。
# 安裝時通常需要加 --no-build-isolation，且需先裝好 torch：
#   pip install flash-attn --no-build-isolation
flash-attn>=2.5.0

# --- NLP / 頭部識別打分 ---
spacy>=3.7.0
# en_core_web_trf 是 spaCy 的 transformer 模型，不是 pip 套件，需另外下載：
#   python -m spacy download en_core_web_trf
# tokenize_data_mask.py 寫死用這個模型做指令偵測，沒有 mock/fallback。
scikit-learn>=1.4.0

# --- 資料處理 / 視覺化 / 工具 ---
numpy>=1.26.0
tqdm>=4.66.0
matplotlib>=3.8.0
