iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Build on Google AI

打造專屬 AI 參謀群:以 Gemini Spark、Workspace 與 ADK 構建自動化決策雷達系列 第 4 篇

開發環境配置:Google AI Studio API Key 與本機 Python 虛擬環境

  • 分享至 

  • xImage
  •  

在昨天定好系統資料流與狀態機的規格後,今天我們正式挽起袖子,把本地開發環境與 Google 模型端點打通。

很多初學者一提到「串接 Google Gemini 模型」,直覺就是去 GCP(Google Cloud Platform)開關繁雜的 IAM 權限、綁定信用卡帳單。但在原型驗證與個人決策雷達的開發階段,最輕量、最敏捷的途徑是透過 Google AI Studio。


一、 透過 Google AI Studio 取得免費 API Key

Google AI Studio 是 Google 提供給開發者的模型沙盒與 API 入口,具備相當慷慨的免費用量層(Free Tier),非常適合拿來跑初期測試。

  1. 前往 Google AI Studio,使用 Google 帳號登入。
  2. 點擊左側導覽列的 「Get API key」 ➔ 「Create API key」。
  3. 複製生成的 API Key。切記不要直接寫死在程式碼中或推上公開 GitHub Repo。

二、 本機 Python 隔離環境搭建

為了避免與系統其他專案的套件版本衝突,我們使用 Python 內建的 venv 建立乾淨的虛擬環境。

打開終端機,依序執行:

# 1. 建立並切換至專案根目錄
mkdir intelligence-radar && cd intelligence-radar

# 2. 建立 Python 虛擬環境 (建議 Python 3.10+)
python3 -m venv .venv

# 3. 啟動虛擬環境
source .venv/bin/activate

# 4. 升級 pip 並安裝核心套件
pip install --upgrade pip
pip install google-adk pydantic python-dotenv requests


三、 集中管理環境變數(.env)

在專案根目錄建立 .env 檔案。注意:新建立的 Google AI Studio API Key 必須指定當前官方標準模型(如 gemini-3.6-flash):

# .env
GEMINI_API_KEY="AIzaSyYourActualKeyHere..."
DEFAULT_MODEL="gemini-3.6-flash"

同時務必建立 .gitignore,防止金鑰意外洩漏:

# .gitignore
.venv/
.env
__pycache__/
*.pyc


四、 實戰排坑:為什麼我們採用 REST 架構進行連線?

在環境搭建過程中,開發者常遇到兩個典型暗坑:

  1. 模型棄用與權限問題 (404 NOT_FOUND):舊文件常標註 gemini-2.5-flash,但新註冊的 API Key 會被強制導向到最新一代模型(如 gemini-3.6-flash),否則會直接回傳 404 錯誤。
  2. SDK 連線掛起 (Read Operation Timed Out):高版本 Python(如 3.13)在特定作業系統下,高階 SDK 底層的連線池或 gRPC 握手偶爾會發生逾時卡死。

在軟體工程中,「保持依賴最小化」是構建穩健系統的核心原則。我們直接使用標準 HTTP REST 端點進行連線驗證,不僅秒級響應,而且未來封裝成 ILLMProvider 介面時更輕量、更好維護。

建立煙霧測試腳本 test_connection.py:

import os
import requests
from dotenv import load_dotenv

# 1. 載入環境變數
load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")
model = os.getenv("DEFAULT_MODEL", "gemini-3.6-flash")

if not api_key:
    raise ValueError("❌ 找不到 GEMINI_API_KEY,請確認 .env 檔案設定!")

# 2. 組合 Google 官方標準 REST 端點
url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={api_key}"
headers = {"Content-Type": "application/json"}
payload = {
    "contents": [{
        "parts": [{"text": "請用繁體中文回覆一句:『Google Gemini API 連線測試成功!』"}]
    }]
}

print(f"📡 正在發送 REST 請求至 {model}...")

try:
    response = requests.post(url, headers=headers, json=payload, timeout=15)
    response.raise_for_status()
    
    reply = response.json()["candidates"][0]["content"]["parts"][0]["text"]
    print("\n🎉【連線成功!】模型回應:")
    print(reply.strip())

except Exception as e:
    print(f"\n❌ 連線失敗: {e}")

執行 python test_connection.py,終端機若印出模型的回應,即代表本地開發基座正式打通!


今日小結與明天預告

今天我們完成了 API Key 申請、隔離虛擬環境,並繞過 SDK 底層連線問題,以乾淨的 REST 架構驗證了 Gemini 模型端點。

明天(Day 05),我們將把 Day 03 定義的資料契約落地,使用 Python 的 Pydantic 實作強型別的 Schema 驗證模組!


上一篇
工程架構設計:資訊流向、狀態機與非同步解耦
下一篇
Day 05:核心資料契約:使用 Pydantic 定義統一 Schema
系列文
打造專屬 AI 參謀群:以 Gemini Spark、Workspace 與 ADK 構建自動化決策雷達 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言