一、 前言
在前幾天的開發中,我們陸續完成了對話、講義 PDF 解析、隨堂考測驗、重點筆记萃取以及 Code Review 程式碼審查等豐富功能,並在 Day 18 將所有模組整合為全新的多頁面平台(Multi-page App)。
然而,如果程式只能在本地電腦(localhost)執行,就無法讓同學或好友隨時隨地透過手機或筆電使用。今天,我們將透過 GitHub 與 Streamlit Community Cloud,將這套 $0-cost 的全方位 AI 學生助手正式部署至雲端!
二、 雲端部署三大核心步驟
- 生成依賴套件清單 (requirements.txt)
在將專案推送至雲端伺服器前,必須精準告知雲端環境專案使用了哪些 Python 套件。我們在虛擬環境中執行以下指令:"pip freeze > requirements.txt "產生的 requirements.txt 會包含 streamlit、google-genai、pydantic、python-dotenv 與 pillow 等專案核心套件。
- 版本控制與代碼託管 (GitHub Repository)
將專案推送到 GitHub 倉庫(例如 ai-assistant-student):
git init
git add .
git commit -m "Day 19: Complete AI Student Assistant Multi-page App"
git branch -M main
git remote add origin https://github.com/你的帳號/ai-assistant-student.git
git push -u origin main
- Streamlit Community Cloud 一鍵部署與安全密鑰
3-1.登入 Streamlit Community Cloud 並連結 GitHub 帳號。
3-2.點擊 New app,設定以下參數:
- Repository: 你的帳號/ai-assistant-student
- Branch: main
- Main file path: app.py(我們的主控台首頁)
3-3.進入 Advanced settings -> Secrets 區塊,注入金鑰以維護資訊安全:GEMINI_API_KEY = "你的實際Gemini_API_Key"
3-4.點擊 Deploy!,約 1~2 分鐘後即可獲得專屬線上網址!

三、 技術亮點與安全防禦總結
1.環境變數隔離(Secrets Management):
透過 .gitignore 嚴格防止 .env 檔上傳至 GitHub,並改用 Streamlit Secrets 在雲端注入 API Key,確保金鑰不外洩。
2.多模型自動 Fallback 避障:
雲端上線後,若遇 gemini-3.6-flash 伺服器高峰(503 UNAVAILABLE),系統會自動切換至 3.5 或 3.1 備援模型。
3.Windows 檔名與編碼全相容:
上傳 PDF 講義時強制採用安全英文暫存檔名(temp_lecture.pdf),徹底消除各種中文檔名可能引發的轉碼錯誤。
四、 結語
今天我們順利將專案部署上線,擁有了一個隨手開啟瀏覽器就能使用的線上 AI 助教!