跳至主要內容
ESC
Study Jam:GenAI 開發者實戰 — 第 15/29 篇

Gemini 開發者指南

GCP

課程概述

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_contentstream=True 參數)。

實作重點

  • 安裝 google-genai SDK(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 的完整流程,也就是「定義函式、模型判斷、執行函式、整合結果」這四個步驟。

延伸學習

Study Jam:GenAI 開發者實戰 — 15/29 完成 查看系列全覽 →

留言討論

徽章解鎖!