deploy zhtw-wiki-semantic-search
Browse files- README.md +6 -6
- requirements.txt +1 -2
README.md
CHANGED
|
@@ -22,7 +22,7 @@ datasets:
|
|
| 22 |
讓「同義改寫也搜得到」的差異一眼可見。
|
| 23 |
|
| 24 |
**🚀 線上 Demo:[Hugging Face Space](https://huggingface.co/spaces/steven0226/zhtw-wiki-semantic-search)**
|
| 25 |
-
(免費
|
| 26 |
|
| 27 |
## 為什麼做這個?
|
| 28 |
|
|
@@ -35,7 +35,7 @@ datasets:
|
|
| 35 |
|
| 36 |
```
|
| 37 |
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐
|
| 38 |
-
│ 本機 RTX 4090 │ │ HF Dataset repo │ │ HF Space(
|
| 39 |
│ │ │ │ │ │
|
| 40 |
│ prepare_data.py │ │ index.faiss (205MB) │ │ app.py(Gradio) │
|
| 41 |
│ build_index.py ├─────▶│ metadata.parquet ├─────▶│ ・bge-m3 編碼查詢 │
|
|
@@ -96,9 +96,9 @@ python scripts/deploy_space.py
|
|
| 96 |
|
| 97 |
## 設計筆記
|
| 98 |
|
| 99 |
-
- **
|
| 100 |
-
|
| 101 |
-
|
| 102 |
- **模型只載一次**:app.py 在 module top-level eager 載入(Space 的
|
| 103 |
Building/Starting 畫面天然就是 loading 提示),並先做一次暖身編碼
|
| 104 |
- **BM25 基線**:rank_bm25 + jieba 斷詞,啟動時對同一批 50k 段落現場建索引,
|
|
@@ -113,7 +113,7 @@ python scripts/deploy_space.py
|
|
| 113 |
|---|---|
|
| 114 |
| 50k 段落 GPU 編碼(4090, fp16, batch 128) | 見 build_stats.json |
|
| 115 |
| FAISS IndexFlatIP 檔案大小 | ~205 MB(50,000 × 1024 × fp32) |
|
| 116 |
-
| Space 查詢延遲(
|
| 117 |
| Space 冷啟動 | ~5 分鐘(裝套件 + 下載模型/索引 + 建 BM25) |
|
| 118 |
|
| 119 |
## 授權
|
|
|
|
| 22 |
讓「同義改寫也搜得到」的差異一眼可見。
|
| 23 |
|
| 24 |
**🚀 線上 Demo:[Hugging Face Space](https://huggingface.co/spaces/steven0226/zhtw-wiki-semantic-search)**
|
| 25 |
+
(免費 ZeroGPU Space,app 為純 CPU 程式碼;冷啟動需幾分鐘)
|
| 26 |
|
| 27 |
## 為什麼做這個?
|
| 28 |
|
|
|
|
| 35 |
|
| 36 |
```
|
| 37 |
┌─────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐
|
| 38 |
+
│ 本機 RTX 4090 │ │ HF Dataset repo │ │ HF Space(ZeroGPU) │
|
| 39 |
│ │ │ │ │ │
|
| 40 |
│ prepare_data.py │ │ index.faiss (205MB) │ │ app.py(Gradio) │
|
| 41 |
│ build_index.py ├─────▶│ metadata.parquet ├─────▶│ ・bge-m3 編碼查詢 │
|
|
|
|
| 96 |
|
| 97 |
## 設計筆記
|
| 98 |
|
| 99 |
+
- **HF 免費帳號政策(2026)**:新的 Gradio Space 只能建在 ZeroGPU 硬體
|
| 100 |
+
(cpu-basic 需 PRO 訂閱)。本 app 全程純 CPU 程式碼、不呼叫 GPU,
|
| 101 |
+
不消耗訪客的 ZeroGPU 配額;torch 必須 pin ZeroGPU 支援清單內的版本(2.8–2.11)
|
| 102 |
- **模型只載一次**:app.py 在 module top-level eager 載入(Space 的
|
| 103 |
Building/Starting 畫面天然就是 loading 提示),並先做一次暖身編碼
|
| 104 |
- **BM25 基線**:rank_bm25 + jieba 斷詞,啟動時對同一批 50k 段落現場建索引,
|
|
|
|
| 113 |
|---|---|
|
| 114 |
| 50k 段落 GPU 編碼(4090, fp16, batch 128) | 見 build_stats.json |
|
| 115 |
| FAISS IndexFlatIP 檔案大小 | ~205 MB(50,000 × 1024 × fp32) |
|
| 116 |
+
| Space 查詢延遲(ZeroGPU host CPU) | 編碼 ~1–3s + 檢索 <1ms |
|
| 117 |
| Space 冷啟動 | ~5 分鐘(裝套件 + 下載模型/索引 + 建 BM25) |
|
| 118 |
|
| 119 |
## 授權
|
requirements.txt
CHANGED
|
@@ -1,5 +1,4 @@
|
|
| 1 |
-
|
| 2 |
-
torch==2.11.0+cpu
|
| 3 |
sentence-transformers==5.6.0
|
| 4 |
faiss-cpu==1.14.3
|
| 5 |
rank-bm25==0.2.2
|
|
|
|
| 1 |
+
torch==2.11.0
|
|
|
|
| 2 |
sentence-transformers==5.6.0
|
| 3 |
faiss-cpu==1.14.3
|
| 4 |
rank-bm25==0.2.2
|