Gemini 開發者指南
課程概述
Gemini 是 Google 的多模態基礎模型家族,能做的事很多,也是開發者寫 GenAI 應用最常用的引擎。這堂課從開發者的角度切入,帶你搞懂 Gemini API 的核心功能跟整合方式,從基本的文字生成,一路講到進階的 Function Calling 跟串流回應,把 Gemini 開發該會的都補齊。
你將學到
- 使用 Google Gen AI SDK(
google-genai)初始化 Gemini 模型並發送請求 - 處理多模態輸入:文字 + 圖片、文字 + 影片、文字 + 音訊
- 實作串流回應(Streaming)以提升使用者體驗
- 運用 Function Calling 讓 Gemini 調用外部 API 與工具
- 選擇合適的 Gemini 模型變體:Pro vs Flash vs Nano
核心概念
Gemini 模型家族
Gemini 底下有好幾個模型,各自針對不同場景做了調校:Gemini Pro 是通用旗艦版,碰到複雜推理跟長上下文的任務表現最好。Gemini Flash 主打速度,延遲低、成本也低,適合要即時回應的情況。Gemini Nano 則是跑在邊緣裝置上的版本,手機本地就能跑。實際要用哪一個,就看任務多複雜、能容忍多少延遲,還有預算多少來挑。
多模態輸入的實作
Gemini 原生就吃混合模態的輸入。透過 API,你可以在一次請求裡同時丟進文字描述跟圖片,例如「分析這張架構圖的潛在單點故障」。支援的輸入格式有 JPEG、PNG、WebP(圖片)、MP4、MOV(影片),還有 WAV、MP3(音訊)。要注意的是,不同模態的輸入在 Token 計費上算法不一樣。
Function Calling 機制
Function Calling 讓 Gemini 能「使用工具」。你在 API 請求裡定義有哪些函式可以用(名稱、描述、參數結構),Gemini 會自己判斷什麼時候該叫哪個函式,然後產生一個結構化的函式呼叫請求。實際去執行函式的是你的應用程式,跑完再把結果回傳給 Gemini,讓它整合進回答。這套機制就是 AI Agent 的技術基礎。
串流回應(Streaming)
預設的 API 呼叫會等整個回答都生成完才返回,回答一長,使用者就得乾等一陣子。串流模式則是讓模型邊生成邊回傳,使用者能看到文字一段一段冒出來,感覺上快很多。在 Google Gen AI SDK(google-genai)裡,用獨立的串流方法 client.models.generate_content_stream(...) 就能啟用(註:舊版 vertexai.generative_models SDK 才是透過 generate_content 的 stream=True 參數)。
實作重點
- 安裝
google-genaiSDK(from google import genai),完成認證並初始化 Gemini 模型物件(註:舊的google-cloud-aiplatform生成式模組已於 2025/6 棄用,預計 2026/6 移除) - 撰寫一個同時傳入文字與圖片的多模態請求,測試圖片理解能力
- 定義兩個 Function(如天氣查詢、匯率轉換),實作完整的 Function Calling 流程
- 比較 Gemini Pro 與 Flash 在相同任務上的回應品質、速度與成本
- 在 Cloud Run 上部署一個簡單的 Gemini API 後端服務
Lab 導讀
Lab 連結:Gemini for Application Developers — Google Cloud Skills Boost
這個 Lab 主要是動手寫程式,你會在 Jupyter Notebook 裡用 Python 呼叫 Gemini API。建議先把 Vertex AI SDK 的基本用法摸熟,做的時候每個 cell 的說明都看仔細。特別留意 Function Calling 的完整流程,也就是「定義函式、模型判斷、執行函式、整合結果」這四個步驟。
延伸學習
- Gemini 貫穿軟體開發生命週期 — Gemini 在 SDLC 各階段的應用
- 建構 GenAI 應用 — 完整的 GenAI 應用建構流程
- Vertex AI + Flutter 做出 AI Agent — 把 Gemini 整合進跨平台 Agent 應用