本週完成成果
你會用同一組公開安全測試題比較 Ollama 上的 Gemma 2 與 Gemini,而不是憑印象說本地或雲端比較好。評測會同時看回答品質、時間、資源、資料去向與成本。
完成標準|兩個模型使用同一份 prompts;報告記錄環境、模型名、時間、人工評分與限制;若 Codespace 資源不足,也能以誠實的 blocker 報告完成驗證。
課前準備
步驟 1|先確認第三小時邊界:前兩小時 DLI 由官方課程處理,本篇只進行課綱指定的本地/雲端比較。
預期結果|不把 DLI 題目、答案或教材複製到 Repo。
步驟 2|Codespaces:查看 CPU、記憶體與磁碟,判斷是否符合老師指定模型需求。
nproc
free -h
df -h .預期結果|把實際規格記入 ollama_report.md;規格不足先回報,不盲目下載大型模型。
步驟 3|小組:準備五個不含個資的固定問題,例如校園公告整理、菜單分類與讀書計畫。
預期結果|兩個模型收到完全相同文字與輸出要求。
第三小時|個人技術實作
故事開始|像選擇在宿舍煮飯或叫外送:自己煮可能較能掌握食材,但需要廚房、時間與設備;外送方便,卻要考慮價格與資料交給誰。模型部署也沒有永遠唯一的答案。
老師先問|本地模型一定比較隱私、免費嗎?本地可以減少資料送出,但電腦、電力、維護與存取權仍有成本;雲端也要依服務條款與資料等級判斷。
生活比喻|同一張考卷要在相同條件下比較:題目、時間計法與評分尺都相同,才能知道差異來自模型而不是測試方式。
先看全程地圖|先看懂資料與決策怎麼移動,再開始操作。圖中的箭頭代表下一步,不代表可以跳過人工確認。
┌──────────┐
│ 同一組安全題目│
└────┬─────┘
├────────→ 本地 Ollama/Gemma 2 ────┐
└────────→ 雲端 Gemini ───────────┤
↓
┌────────────────┐
│速度/品質/成本/隱私│
└───────┬────────┘
↓
人工選擇適用情境步驟 4|依老師提供的已準備環境確認 Ollama API;不要在資源不足的 Codespace 臨時下載。
curl -s http://localhost:11434/api/tags預期結果|回傳可用模型清單;連不上時記錄 blocker 與環境,不自行改防火牆。
步驟 5|建立固定 prompt 檔與測試紀錄格式。
{"id":"p1","prompt":"只根據下列公開公告整理日期、地點與待確認事項:..."}
{"id":"p2","prompt":"把下列一週讀書任務分成五天,不能新增原文沒有的作業:..."}預期結果|兩個 provider 使用相同 prompt ID。
步驟 6|執行老師提供的比較腳本或小組 codes/ollama_test,記錄模型完整名稱與耗時。
python codes/ollama_test/compare.py --prompts week10_ollama/prompts.jsonl --output week10_ollama/results.jsonl預期結果|每筆結果包含 provider、model、elapsed_seconds 與 response;Secrets 不寫入結果。
步驟 7|兩位同學盲評輸出:隱藏模型名稱,依正確、完整、不亂補、好閱讀各 1–5 分。
預期結果|保留兩位評分與差異,不只選自己喜歡的文字風格。
課堂收束|完成一句決策:「在__情境我們選__,因為__;如果__改變,就重新評估。」模型比較的成果是選擇條件,不是宣布永久冠軍。
指定閱讀與課後作業
指定閱讀|依課綱完成個人 week10_ollama Python 測試;查閱 Ollama API 與 GitHub Codespaces 機器規格官方文件。模型名稱與可用性會變動,以教師當週公告為準。
課後作業方向|個人整理測試程式,小組在 feat-ollama 分支完成比較報告。若無法在 Codespaces 啟動模型,提交可重現環境證據與替代的教師準備測試結果,不偽造成功。
步驟 8|個人:在 week10_ollama/ 保存 prompts 與安全的結果摘要,不保存 API key 或私人輸入。
預期結果|別人能知道測了什麼與使用哪個模型。
步驟 9|小組:完成 ollama_report.md 並提交 PR。
git add week10_ollama codes/ollama_test ollama_report.md
git commit -m 'W10: compare local and cloud model tradeoffs'
git push -u origin HEAD預期結果|報告包含環境規格、五題結果、人工評分、成本/隱私與限制。
驗收方式
test -s ollama_report.md
test -s week10_ollama/prompts.jsonl
rg -n "模型|環境|耗時|隱私|成本|限制" ollama_report.md通過條件|同題同尺比較完成;模型與環境可辨識;人工評分與限制保留;資源不足時有真實 blocker 證據。
應提交的 Repo 檔案
必交|week10_ollama/、codes/ollama_test/、ollama_report.md。只提交課綱指定成果與重現所需說明;不得提交 API key、個資、私人對話、未授權資料或大型模型檔。
常見問題與排除
問題 1|Ollama connection refused:確認老師提供的服務是否啟動與 API 位址,不自行暴露 11434 到公開網路。
問題 2|模型下載空間不足:停止下載並回報規格;不要刪除別組或系統資料。
問題 3|比較不公平:固定 prompt、temperature/參數與評分尺,並記錄無法完全相同之處。
引用資料
國立中央大學授課課綱/劉書銘老師,《劉書銘老師課程大綱_基礎模型與生成式人工智慧-更新版.pdf》;教師提供附件。用途:W1–W16 時段、實作主題、評量與交付物。
Ollama,《Ollama API Introduction》;https://docs.ollama.com/api/introduction;查閱日期:2026-08-04。用途:W10 Ollama 本機 API 位址、generate request 與模型呼叫。
Google AI for Developers,《Text generation》;https://ai.google.dev/gemini-api/docs/generate-content/text-generation;查閱日期:2026-08-04。用途:Gemini Python SDK 文字生成請求、模型參數與回應文字介面。
GitHub Docs,《Changing the machine type for your codespace》;https://docs.github.com/en/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace;查閱日期:2026-08-04。用途:W7、W10 Codespaces 資源、機器規格與可能費用差異。