這份文件說明如何在 Windows(PowerShell)上建立環境、安裝所需套件、下載模型,並啟動系統或執行效能測試。假設你已把工作資料夾放在 C:\Users\<you>\OneDrive\Desktop\專題\VLM+rag。
重點檔案
download_models.py— 用來下載/快取 Qwen 模型到本地model/資料夾(支援 CLI--all/--model,也保留互動式選單)。rag_performance_test.py— 針對多個模型執行 LLM+RAG 的效能測試(會載入PDF/中的 PDF、對問題做檢索+生成、儲存 JSON/Excel 報告)。會嘗試先從test_questions.json讀取題目,找不到則使用內建 fallback。qwen_rag_system.py— 系統核心,提供QwenRAGSystem類(載模型、建立向量庫、檢索、生成、互動式問答)。可直接執行進入互動問答模式。download_selected_models.py— 簡單的非互動批次下載到 HF cache(次要)。test_questions.json— 問題集合(RAG 測試可讀取)。PDF/— 放入要做 RAG 的 PDF 文件(rag_performance_test.py會掃描此資料夾)。model/— 本地模型快取(download_models.py會存放於此)。
1) 建置環境(建議:使用 Python 3.10+)
- 開啟 PowerShell,切換到專案資料夾:
Set-Location -Path "C:\Users\SMaster201\OneDrive\Desktop\專題\VLM+rag"- 建立虛擬環境並啟動(Windows PowerShell):
python -m venv .\venv
& .\venv\Scripts\Activate.ps1- 更新 pip、wheel:
python -m pip install --upgrade pip wheel setuptools- 安裝主要相依套件(使用專案中的
requirements.txt):
pip install -r .\requirements.txt- 額外需要安裝的套件(
requirements.txt可能未列出但腳本會用到):
pip install huggingface_hub pandas openpyxl psutil nvidia-ml-py3huggingface_hub:下載模型時用到pandas,openpyxl:生成 Excel 報告psutil:效能監控nvidia-ml-py3:若要監控 GPU VRAM(可選,無 NVIDIA 時程式會退回監控 RAM)
- 如果你要在 GPU 上使用大型模型並希望使用
bitsandbytes,請依作業系統/硬體安裝對應版本的bitsandbytes。
2) 下載模型 — 使用哪個檔案?
- 推薦使用
download_models.py(互動 + CLI)。
常見用法:
- 下載全部(注意空間巨大):
python .\download_models.py --all- 下載指定模型(可以重複
--model):
python .\download_models.py --model Qwen/Qwen2-0.5B-Instruct- 互動模式(沒有參數):
python .\download_models.py下載後,模型會被存到 model/ 資料夾,路徑命名會把 / 換成 __,例如 model\Qwen__Qwen2-0.5B-Instruct。
備註:download_selected_models.py 也能批次下載(會存到 Hugging Face 的 cache),但 download_models.py 會把模型放在 ./model,較方便離線使用。
3) 下載完成後要執行哪個檔案才能使用功能?
-
想直接互動、根據你放的 PDF 或 TXT 做 RAG 問答:
- 執行
qwen_rag_system.py:
python .\qwen_rag_system.py
- 會啟動互動模式,程式會提示你輸入問題;若要使用文件,先在程式中選擇載入文件或在碼中呼叫
load_documents(...)。
- 執行
-
想跑完整的七個模型效能測試(批次載入
PDF/中文件、對多題做檢索 + 生成、產生 JSON/Excel 報告):- 放好要測試的 PDF 到
PDF/資料夾,然後執行:
python .\rag_performance_test.py
- 程式會:
- 依
MODELS列表(檔案內定義)逐一載入模型(若模型未放在model/,qwen_rag_system會嘗試從 HF 下載), - 載入
PDF/所有 PDF,建立向量庫(Chroma)並進行 RAG, - 對
test_questions.json中的問題或 fallback 問題做檢索 + 生成, - 將結果寫到
rag_performance_test_results.json與RAG效能測試報告.xlsx。
- 依
- 放好要測試的 PDF 到
-
快速 smoke-test(小型示例):
example_usage.py:展示如何使用QwenRAGSystem的不同模式(含不使用 RAG 的純模型對話)。
python .\example_usage.py
常見問題與提醒
- 確保
PDF/中有 PDF 檔,否則rag_performance_test.py會停止並顯示錯誤。 - 若要節省下載流量,先用
download_models.py --model <repo>下載你要測試的模型到model/。 - 若使用 GPU,請確認驅動與 CUDA 相容,且
torch已安裝對應的 CUDA 版本;大型模型可能需要大量 VRAM。 - 若在 Windows 上出現 symlink 問題,程式會自動設定
HF_HUB_DISABLE_SYMLINKS=1。
如果你希望我:
- 把
rag_performance_test.py加上 CLI(例如--pdf-folder,--questions-file,--models)以便自動化執行;或 - 把這個 README 的內容同步到
新手執行手冊.md,或建立更詳細的安裝腳本(PowerShell) — 我可以接著幫你做。