!pip install -q google-generativeai
本學期教了很多東西,包括 Markdown、Agent 人格設定、Memory、Skills、Multi-agent、多模態。但這些技術要怎麼變成真正能用、可以分享給朋友的東西?答案是本堂課的三個基礎概念:
API 這個詞常常聽到。我們從最基礎的「程式之間怎麼通訊」開始。
當你的程式呼叫 API 時,幕後其實是這樣的對話:
| 術語 | 意思 | 餐廳類比 |
|---|---|---|
endpoint | API 的網址 | 餐廳的地址 |
request | 你發出的請求 | 點單 |
response | 伺服器回傳的結果 | 菜送回來 |
API key | 身份憑證 | 會員卡 |
JSON | 傳輸資料的格式 | 菜單填寫格式 |
瀏覽器打開 aistudio.google.com,用你的 Google 帳號登入。
進去後會看到目前的 API keys 列表(你還沒有,所以是空的)。
系統會問你要關聯到哪個 Google Cloud 專案。選擇 Create API key in new project 即可。
形如 AIzaSyB... 的長字串就是你的 API key。切記!不要分享給別人、不要貼到 GitHub、不要寫死在程式碼裡。
打開 colab.research.google.com,新建 notebook。左側 🔑 面板新增名為 GEMINI_API_KEY 的 secret,貼入剛才的 key,並開啟「Notebook access」。接著依序執行下面兩個 cell——「給 Gemini 一句中文,請它翻成日語」:
!pip install -q google-generativeai
import google.generativeai as genai from google.colab import userdata # 從 Colab secret 讀取 API key(不要寫死在 cell 裡!) genai.configure(api_key=userdata.get("GEMINI_API_KEY")) # 選一個模型 model = genai.GenerativeModel("gemini-2.5-flash") # 發送請求 response = model.generate_content("翻成日語:今天天氣真好") # 印出回應 print(response.text)
今日は本当に良い天気ですね。 ↑ 你的 notebook 剛剛跨越了網路,呼叫了 Google 的 AI 模型!
Git 是程式碼的「時光機」+「備份」。可以隨時回到過去的版本,也可以分享給別人。它是所有現代軟體開發的基礎,而且你不需要寫程式也能用(很多人甚至用 Git 管理 Word 文件、論文、筆記)。 安裝可參考:https://ithelp.ithome.com.tw/articles/10322227
像是把「要寄出的信件」放進信封,雖然還沒寄,但已經準備好了。
像是「封信並蓋章」。這次修改正式進入歷史,並加上一句說明(commit message)。
像是「把信投進郵筒寄出」。這次的所有 commits 同步到 GitHub。
每個 commit 都有時間、唯一識別碼(hash)、說明訊息:
# 1. 建立一個資料夾,把剛才的 translate.py 放進去 $ mkdir my-first-api $ cd my-first-api $ cp ~/translate.py . # 2. 初始化 git(讓這個資料夾被 git 追蹤) $ git init Initialized empty Git repository in .../my-first-api/.git/ # 3. 把 translate.py 加入「準備記錄」清單 $ git add translate.py # 4. 正式記錄這次修改(commit) $ git commit -m "我的第一次 API 呼叫" [main (root-commit) 1d6f0c7] 我的第一次 API 呼叫 1 file changed, 10 insertions(+) # 5. 查看歷史 $ git log commit 1d6f0c7... (HEAD -> main) Date: ... 我的第一次 API 呼叫
translate.py 現在不只存在於檔案系統,還被 git 永久記錄了。即使你之後把整個檔案改成空白,也能用 git checkout 1d6f0c7 找回現在的版本。
免費,建議用學校信箱(可申請學生方案)。註冊後務必驗證 email。
右上角「+」 → New repository → 命名 my-first-api → 選 Public → 不要勾選「Initialize with README」(因為本機已有檔案)→ Create
就是下面這幾行(替換成你的帳號)。
# 1. 告訴 git「我的雲端 repo 在這個網址」 $ git remote add origin https://github.com/你的帳號/my-first-api.git # 2. 把預設分支改名為 main(GitHub 的慣例) $ git branch -M main # 3. 推上去! $ git push -u origin main Enumerating objects: 3, done. ... To https://github.com/你的帳號/my-first-api.git * [new branch] main -> main ← 你的 translate.py 現在已經在雲端,任何人都看得到
github.com/你的帳號/my-first-api,能看到 translate.py 的內容 → 成功。api_key="AIzaSy...",立刻改!
# 改完程式碼後,這三行幾乎每次都一樣 $ git add . # 加入所有修改 $ git commit -m "新增韓語翻譯功能" # 記錄修改 $ git push # 推上雲端 # 整個過程 30 秒。記住這三行 = 學會 git 80%
「部署」(deployment)的意思是:把你的程式從本機搬到雲端,讓別人也能用。這個概念聽起來簡單,背後有 30 年的演化史。理解這段演化,才能理解為什麼今天的技術讓我們可以「一鍵部署」。
| 場景 | 推薦方案 | 原因 |
|---|---|---|
| 學生作業、個人原型 | 「一鍵」雲端 | Vercel / Zeabur / Streamlit Cloud : 免費額度足夠,零設定 |
| 中型團隊、穩定產品 | PaaS | Render / Railway : 稍微付費,但更穩定、有更多控制權 |
| 大型企業、特殊需求 | VPS / Kubernetes | AWS / GCP / Azure : 成本與複雜度高,但完全可控 |
我們把剛才推上 GitHub 的 my-first-api 部署到雲端。不需要記住每個細節,這部分主要是讓你看到「一鍵」是什麼意思。
授權 Zeabur 讀取你的 GitHub repository。
選你剛建立的 my-first-api repo。Zeabur 會自動偵測這是 Python 專案。
到 Variables 分頁 → 加入 GEMINI_API_KEY 並貼上你的 key。這就是「不把 API key 寫死在程式碼」的真正原因——雲端在執行時才把 key 注入。
Zeabur 自動安裝套件、啟動程式。完成後給你一個形如 my-first-api.zeabur.app 的網址。
translate.py 是一次性的腳本(只 print 一次就結束),雲端跑完就停了。這對純 CLI 程式來說是正常的。真正讓網站「活著」需要加上 Flask,這部分留給期末專案實作需要的時候再學。
「部署」就是把程式碼從本機推到雲端,讓平台幫你跑起來。期末專案會把它應用在一個會持續運作的網頁應用——Flask + HTML 介面 + API + 部署,整個流程你今天都看過了。
本週是學期最後一場 Lab。讓我們回顧這七堂課累積了什麼。你會發現,每一塊都已經會了,期末專案不是新東西,是把這些組合起來。
專案故意設計得很小,目的是讓你體驗到「想法到落地」的完整過程,而不是被技術細節壓垮。
很多人一輩子有過好幾個 idea,但從來沒做出來過。完成這個小專案後,你已經跨過了那個門檻。以後有想法的時候,希望你們會本能地反應「我可以做出來!」。這個信心,比任何具體技術都珍貴。