Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from vocab import get_sources, get_words_with_sentences | |
| with gr.Blocks() as demo: | |
| gr.Markdown( | |
| """ | |
| # 📖 英文單字隨機抽取 & GPT 例句生成 API | |
| ## 📝 專案簡介 | |
| 本專案提供一個 API 服務,能夠從不同的單字庫隨機抽取單字,並使用開源語言模型自動生成例句。 | |
| 適合作為 LINE 單字推播、自學工具、英文教學輔助等用途。 | |
| ## ⚙️ 主要功能 | |
| - 支援從多個單字庫中選擇,如:`common3000`, `business_words`。 | |
| - 可自訂抽取單字數量。 | |
| - 每個單字自動生成一個簡單的英文例句,適合初學者學習。 | |
| ## 📚 使用方式 | |
| 1. 選擇單字庫(例如:`common3000`)。 | |
| 2. 設定抽取單字數量(例如:10個)。 | |
| 3. 點擊「生成例句」按鈕,即可獲得單字 + 音標 + 例句。 | |
| ## 🗂️ 資料來源 | |
| - **common3000**:常用3000單字表,附音標。 | |
| - 未來可能會有更多單字庫新增至 `/data/` 資料夾。(可能啦! | |
| ## 🛠️ 技術架構 | |
| - **Gradio Blocks** 前端介面 + API。 | |
| - **Hugging Face Transformers** 語言模型: | |
| - 模型:`EleutherAI/pythia-410m`(小型 GPT 模型) | |
| ## 👨💻 開發者資訊 | |
| - 開發者:余彦志 (大宇 ian) | |
| - 信箱:[email protected] | |
| - GitHub:[https://github.com/dayuian](https://github.com/dayuian) | |
| """ | |
| ) | |
| source_dropdown = gr.Dropdown( | |
| choices=get_sources(), | |
| value="common3000", | |
| label="選擇單字庫", | |
| interactive=True | |
| ) | |
| num_input = gr.Number(value=10, label="抽幾個單字") | |
| result_output = gr.HTML(label="生成結果") | |
| status_output = gr.Textbox(label="狀態更新", lines=8, interactive=False) | |
| submit_btn = gr.Button("生成例句") | |
| submit_btn.click( | |
| fn=get_words_with_sentences, | |
| inputs=[source_dropdown, num_input], | |
| outputs=[result_output, status_output] | |
| ) | |
| demo.launch() | |