Luigi's picture
add divsere beam search and merge common prefixes
9c6147f

A newer version of the Gradio SDK is available: 5.34.2

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

三、運作原理

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

四、部署步驟

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

五、使用效益

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

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