File size: 2,739 Bytes
0b53f93
 
 
 
 
 
 
 
97f0670
0b53f93
 
 
 
da40aec
dc13b6d
9c6147f
 
dc13b6d
9c6147f
dc13b6d
 
fe26a7b
9c6147f
fe26a7b
 
 
 
 
 
 
 
 
 
9c6147f
 
dc13b6d
 
9c6147f
 
fe26a7b
 
9c6147f
 
dc13b6d
 
 
 
 
9c6147f
 
dc13b6d
 
fe26a7b
9c6147f
dc13b6d
9c6147f
dc13b6d
fe26a7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
---
title: Input Method Acceleration
emoji: 💻
colorFrom: blue
colorTo: pink
sdk: gradio
sdk_version: 5.34.0
app_file: app.py
pinned: true
license: mit
short_description: Chinese input method accelerator
---

# 台灣中文輸入法加速器(ZeroGPU + Gradio v5)

結合多種小型中文語言模型,並透過 Hugging Face 的 **ZeroGPU** 即時生成候選,模擬中文輸入法下段建議功能。

## 一、專案概述  
本示範結合多種小型中文語言模型,並透過 Hugging Face 的 **ZeroGPU** 即時執行文字生成,模擬中文輸入法中的候選詞建議功能。

## 二、主要功能  
1. **使用 GPU 生成建議**  
   - 採用 **Beam Search**`num_beams=M`),一次產出 M 條最可能的候選。  
2. **經典 IME 候選欄樣式**  
   - 橫向滑動、點擊選字,模擬傳統輸入法使用體驗。  
3. **自動延展文字框**  
   - 根據輸入內容動態調整高度,無須手動拖曳。  
4. **手機響應式優化**  
   - 針對小螢幕(≤600px)放大候選字與按鈕、攤滿全寬,提升觸控便利度。  
5. **永遠顯示「預測」按鈕**  
   - 手動/自動預測互補,按鈕常駐不隱藏。  
6. **消除重複建議**  
   - 自動去重,保留首見建議,避免候選列表出現相同項目。  
7. **多樣性設置**  
   - 在「進階設定」中可調整 **Beam 群組數**`num_beam_groups`)與 **多樣性懲罰**`diversity_penalty`),以控制輸出建議的多樣性。

## 三、運作原理  
- 點擊「預測」或於文字變更時(若已開啟自動預測),函式會以 **Diverse Beam Search** 模式呼叫模型,並做以下處理:  
  1. 生成 m 條下文(可透過 `num_beam_groups``diversity_penalty` 提高多樣性);  
  2. 過濾空字串並轉繁體;  
  3. 去重並保留順序;  
  4. 合併共享的前綴片段作為建議,提高候選精簡度;  
  5. 更新候選列表。

## 四、部署步驟  
1. 在 Hugging Face Spaces 建立新 Space,框架選 **Gradio SDK**2.**Hardware** 欄位選擇 **Zero GPU**(需 PRO 帳號)。  
3. 設定 Python 版本為 3.10.13。  
4. 上傳 `app.py``requirements.txt``README.md`,Spaces 會自動安裝相依套件。  
5. 點擊 **Deploy** 即可線上體驗!

## 五、使用效益  
- **快速回應**:利用 GPU burst 加速生成速度。  
- **多樣化候選**:透過 Diverse Beam Search 與共同前綴合併,提供更具多樣性和精簡性的建議。  
- **零門檻**:免本地 GPU,開發者與使用者皆可輕鬆試用。  
- **多模型對比**:可快速測試不同模型品質與效能。

歡迎體驗高效、無痛的台灣中文輸入法下段建議 Demo!