Google Colab(グーグル コラボレートリー)は、ブラウザだけで Python を実行できる無料クラウド環境です。環境構築ゼロで Gemini API をすぐに試せるため、AI 開発の入門として最適な組み合わせです。ここではAPIキーの設定から実践的なユースケースまで、コピペで動くコード付きで解説します。
Google Colab と Gemini API — なぜこの組み合わせが実用的なのか
Google Colab の最大の魅力は完全無料・インストール不要な点です。ローカル環境でPythonやライブラリをセットアップする手間なく、ブラウザさえあれば Gemini API の実験を始められます。
主なメリットをまとめると:
- 無料 GPU/TPU が使用可能(有料プランでさらに強化)
- Google アカウントだけで即スタート
- Jupyter Notebook 形式でコードと説明を混在できる
- Google Drive と連携してデータを読み書きできる
- Gemini API の SDK が pip 1行でインストール完了
一方、Gemini API は Google が提供する最先端 AI モデルへのアクセスを提供します。テキスト生成・画像解析・音声処理・マルチモーダル推論など、幅広いタスクに対応しています。
事前準備:Gemini API キーの取得
Colab でコードを書く前に、Gemini API キーを取得しておく必要があります。
- Google AI Studio にアクセスし、Googleアカウントでログイン
- 左メニューの「Get API key」をクリック
- 「Create API key」→ プロジェクトを選択 → キーをコピー
取得したキーは AIza... で始まる文字列です。このキーは秘密情報なので、コード内に直接書かないことが重要です(後述の Colab Secrets を使用します)。
Step 1:Colab ノートブックを開く
Google Colab にアクセスし、「新しいノートブック」を作成します。ノートブック名は gemini_tutorial.ipynb などわかりやすい名前にしておきましょう。
Step 2:APIキーを Colab Secrets に安全に保存する
コード内にAPIキーをベタ書きするのはセキュリティリスクです。Colab には Secrets 機能(左サイドバーの鍵アイコン)があり、安全にキーを管理できます。
- 左サイドバーの 🔑 鍵アイコンをクリック
- 「新しいシークレットを追加」をクリック
- 名前に
GEMINI_API_KEY、値に取得したAPIキーを入力 - 「ノートブックアクセス」のトグルをオンにする
これで、コード内から userdata.get('GEMINI_API_KEY') でキーを安全に取得できます。
Step 3:Gemini SDK のインストール
Colab の新しいセルに以下を入力して実行します(先頭の ! はシェルコマンドを意味します):
# Google Gemini SDK をインストール
!pip install google-genai -qインストール完了後、ランタイムの再起動は不要です(-q オプションで出力を抑制)。
Step 4:初めてのテキスト生成
最もシンプルな Gemini API の使い方から始めましょう:
from google import genai
from google.colab import userdata
# APIキーを Secrets から安全に取得
api_key = userdata.get('GEMINI_API_KEY')
client = genai.Client(api_key=api_key)
# テキスト生成(最新の Gemini 3.1 モデルを使用)
response = client.models.generate_content(
model='gemini-3.1-pro',
contents='Pythonでフィボナッチ数列を生成する関数を書いて、コメント付きで説明してください。'
)
print(response.text)
# 期待する出力例:
# def fibonacci(n):
# """n番目までのフィボナッチ数列をリストで返す関数"""
# if n <= 0:
# return []
# ...(詳細なコード)response.text で生成されたテキストを取得できます。たったこれだけで Gemini のパワーを活用できます。
Step 5:ストリーミングで応答をリアルタイム表示
長い文章を生成する場合、ストリーミングを使うと応答が出力されるたびに順次表示されます:
# ストリーミング生成 — 長い応答をリアルタイムで確認できる
for chunk in client.models.generate_content_stream(
model='gemini-3.1-pro',
contents='Gemini APIの主な機能を詳しく説明してください。'
):
print(chunk.text, end='', flush=True)
# 期待する出力:
# Gemini APIの主な機能として、まず...(リアルタイムに文字が流れる)end='' と flush=True を指定することで、改行なしに文字が順次出力されます。
Step 6:マルチターン会話(チャット)
会話の文脈を保持する対話型 AI を実装します:
# チャットセッションを作成(会話履歴を自動管理)
chat = client.chats.create(model='gemini-3.1-pro')
# 1回目のメッセージ
response1 = chat.send_message('Pythonの辞書型について教えてください。')
print('AI:', response1.text[:200], '...\n')
# 2回目(前の文脈が引き継がれる)
response2 = chat.send_message('その応用例をコード付きで3つ示してください。')
print('AI:', response2.text[:300], '...')
# 会話履歴を確認
print(f'\n会話ターン数: {len(chat.get_history())}')client.chats.create() はセッションオブジェクトを返し、send_message() で送るたびに履歴が蓄積されます。
Step 7:画像解析(マルチモーダル)
Gemini の真の強みはマルチモーダル処理です。画像をアップロードして分析させてみましょう:
import requests
from PIL import Image
from io import BytesIO
# サンプル画像を取得(インターネット上の任意の画像URL)
img_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/1200px-Cat03.jpg'
img_response = requests.get(img_url)
img = Image.open(BytesIO(img_response.content))
# Gemini に画像を解析させる
response = client.models.generate_content(
model='gemini-3.1-pro',
contents=[
img, # PIL Image オブジェクトをそのまま渡せる
'この画像に何が写っていますか?詳しく説明してください。'
]
)
print(response.text)
# 期待する出力例:
# 画像にはオレンジ色のトラ猫が写っています。猫は...PIL の Image オブジェクトを contents リストに含めるだけで、テキストと画像を組み合わせたプロンプトを送れます。
Step 8:Google Drive のファイルを直接処理する
Colab では Google Drive をマウントして、ドライブ内のファイルを直接 Gemini に渡せます:
from google.colab import drive
import pathlib
# Google Drive をマウント(初回実行時は認証が必要)
drive.mount('/content/drive')
# Drive 内のテキストファイルを読み込む(パスは適宜変更)
file_path = '/content/drive/MyDrive/sample.txt'
# ファイルが存在する場合にGeminiで要約
if pathlib.Path(file_path).exists():
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
response = client.models.generate_content(
model='gemini-3.1-flash', # コスト効率の良いFlashモデルを使用
contents=f'以下のテキストを3点の箇条書きで要約してください:\n\n{content}'
)
print(response.text)
else:
print('ファイルが見つかりません。パスを確認してください。')長文ドキュメントの要約や分析に非常に便利です。gemini-3.1-flash はコストを抑えたい場合に最適です。
Step 9:System Instruction でAIの振る舞いをカスタマイズ
System Instruction(システム指示)を使うと、モデルのペルソナや応答スタイルを定義できます:
from google.genai import types
# カスタムペルソナを持つモデル設定
config = types.GenerateContentConfig(
system_instruction="""あなたは経験豊富なPythonエキスパートです。
回答は常に以下の形式で行ってください:
1. 簡潔な説明(1〜2文)
2. 動作するコード例
3. よくある間違いの注意点
敬語は使わず、フレンドリーなトーンで話してください。""",
temperature=0.7, # 創造性のレベル(0〜2、低いほど一貫性が高い)
max_output_tokens=1024 # 出力トークン数の上限
)
response = client.models.generate_content(
model='gemini-3.1-pro',
contents='リスト内包表記を教えて',
config=config
)
print(response.text)temperature を下げると決定論的な応答、上げると多様な応答が得られます。
よくあるエラーと対処法
エラー1:RESOURCE_EXHAUSTED — レート制限超過
import time
def generate_with_retry(client, prompt, max_retries=3):
"""レート制限時に自動リトライする関数"""
for attempt in range(max_retries):
try:
return client.models.generate_content(
model='gemini-3.1-flash',
contents=prompt
)
except Exception as e:
if 'RESOURCE_EXHAUSTED' in str(e) and attempt < max_retries - 1:
wait_time = 2 ** attempt # 指数バックオフ: 1秒 → 2秒 → 4秒
print(f'レート制限。{wait_time}秒待機中...')
time.sleep(wait_time)
else:
raise e
return Noneエラー2:INVALID_ARGUMENT — モデル名の間違い
利用可能なモデル一覧を確認するには:
# 利用可能なモデルを一覧表示
for model in client.models.list():
if 'generateContent' in [m for m in model.supported_actions]:
print(model.name)エラー3:Colab セッション切れ後のSecrets未読み込み
セッションが切れた後に再実行する場合、Secrets のトグルをオフにしてから再度オンにすることで解消できます。
全体を振り返ってと次のステップ
ここではGoogle Colab × Gemini API の基本から実践的な活用法まで解説しました。
- ✅ APIキーを Colab Secrets で安全に管理する方法
- ✅ テキスト生成・ストリーミング・チャットの実装
- ✅ 画像解析やGoogle Driveとの連携
- ✅ System Instruction でモデルをカスタマイズ
次のステップとして、以下の記事もあわせてご参照ください:
- Gemini API クイックスタート — 5分で始めるAI開発 — ローカル環境での開発手順
- Function Calling 完全ガイド — 外部APIと連携した自律的なAIを構築する
- Google AI Studio 入門 — GUI でプロンプトをプロトタイプする方法
Google Colab は Gemini の実験場として最適です。今日からノートブックを開いて、AI 開発の第一歩を踏み出してみてください!