Luigi's picture
add divsere beam search and merge common prefixes
9c6147f
---
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!