1. GeminiとPython SDKによる開発の始め方 [0]

GeminiモデルとPython SDKを使って開発を始めるための基本的な手順と、Google AI StudioでのAPIキー取得からPythonでの環境構築、最初のリクエスト送信までを解説する。

1.1. Google AI Studioの活用とAPIキーの取得 [8]

  1. Google AI Studioの概要 [8]
    1. AI Studioは、Geminiモデルを試したり、プロンプトや設定を調整したり、機能を探求したりできるプレイグラウンドである [10]。
    2. ここでAPIキーを生成し、スターターコードを取得できる [11]。
  2. モデルと設定の選択 [13]
    1. 右側でGemini 2.5、2.0、またはGemmaモデルを選択できる [13]。
    2. 温度や思考モードなどの設定を調整し、ツールを切り替えることも可能である [17]。
  3. APIキーの生成 [33]
    1. AI Studioで「Get API key」をクリックし、「Create API key」を選択する [34]。
    2. 新しいプロジェクトを生成するか、既存のプロジェクトを選択してAPIキーを作成する [38]。
    3. 生成されたAPIキーはコピーして使用する [42]。
    4. 無料枠が提供されており、チュートリアルで紹介されるすべてのコードは無料枠で利用できる [44]。

1.2. Python SDKのセットアップと最初のAPIリクエスト [25]

  1. Python SDKのインストール [25]
    1. Google Gen AI SDKはGitHubで公開されている [26]。
    2. 仮想環境をアクティブにしたプロジェクトフォルダで pip install Google-genai コマンドを実行してインストールする [29]。
    3. 最新版にアップグレードするには -u フラグを使用する [31]。
  2. APIキーの環境変数設定 [49]
    1. セキュリティのため、APIキーは環境変数として保存することが推奨される [49]。
    2. Macの場合、export GEMINI_API_KEY="コピーしたキー" のように設定する [51]。
  3. PythonコードでのAPIリクエスト [56]
    1. google.generativeai をインポートし、genai.client を使ってクライアントを設定する [56]。
    2. APIキーは os.getenv("GEMINI_API_KEY") で環境変数から取得する [62]。
    3. client.generate_content メソッドにモデルIDとプロンプト(例: "Why is the sky blue?")を渡してリクエストを送信する [66]。
    4. レスポンスは response.text で取得し、出力できる [76]。
    5. generate_content_stream メソッドを使用すると、結果をリアルタイムでストリーミングできる [83]。

2. Geminiの高度な機能:チャット、マルチモーダル、思考モデル [90]

Geminiモデルの高度な機能として、会話履歴を保持するチャット機能、画像・音声などのマルチモーダル処理、そしてGemini 2.5モデルの思考機能について解説する。

2.1. チャット機能の実装 [90]

  1. チャットの作成とメッセージ送信 [90]
    1. モデルとチャットするには、clients.create_chat を呼び出してチャットを作成する [91]。
    2. chat.send_message を使ってユーザーの入力をモデルに送信し、result.text で応答を表示する [93]。
  2. 会話履歴の追跡 [95]
    1. chat クラスはSDK内のユーティリティクラスであり、会話履歴を自動的に追跡する [95]。
    2. これにより、モデルは以前の会話内容を記憶し、文脈に沿った応答を生成できる [99]。

2.2. マルチモーダル機能の活用 [104]

  1. 多様なファイルタイプの理解 [104]
    1. Geminiはネイティブにマルチモーダル設計されており、画像、動画、音声など様々なファイルタイプを理解できる [104]。
    2. 例として、カップケーキの画像、短い音声ファイル、請求書のPDFファイルが挙げられる [106]。
  2. ファイルのアップロードとプロンプトへの組み込み [108]
    1. client.files.upload を使ってファイルをアップロードする [108]。
    2. generate_content の contents 引数には、プロンプトとアップロードしたファイルをリストとして渡すことができる [109]。
    3. 例として、画像ファイルをアップロードし、「この画像を説明してください」というプロンプトで内容を記述させることができる [110]。
  3. 音声ファイルの処理 [115]
    1. 音声ファイル(例: audio.mp3)をアップロードし、「この音声を説明してください」または「この音声ファイルを書き起こしてください」といったプロンプトで処理できる [115]。
    2. Geminiは音声の書き起こしにも優れている [118]。
  4. PDFファイルの処理(演習) [124]
    1. 請求書のようなPDFファイルをアップロードし、「請求書から日付と金額を抽出してください」といったプロンプトで情報を抽出する演習が可能である [125]。
  5. 直接データ添付 [127]
    1. upload 関数を使わずに、リクエストに直接データを添付することも可能である [127]。
    2. google.generativeai.types から types.Part.from_bytes を使用し、画像データをバイト形式で渡し、正しいMIMEタイプ(例: image/jpeg)を指定する [128]。

2.3. 思考モデル(Gemini 2.5)の利用 [131]

  1. 思考機能の概要 [131]
    1. Gemini 2.5モデルは思考機能(thinking capabilities)を備えている [131]。
    2. AI Studioで最新の2.5 Flashモデルを選択して試すことができる [132]。
  2. 思考モードの設定 [136]
    1. 開発者は思考モードを無効にしたり、思考予算(モデルがステップを処理するために使用できるトークン数)を設定したりできる [136]。
    2. 思考予算を0にすると思考は行われず、最大値に設定すると必要なだけトークンを使用する [139]。
  3. AI Studioでの思考ステップの確認 [141]
    1. プロンプト(例: 「Pythonを学ぶための学習ロードマップを作成してください」)を実行すると、思考ステップ(例: Pythonプランの開発、学習プランの構造化など)が表示されるボックスを確認できる [141]。
    2. その後、学習ロードマップがユーザーに出力される [142]。
  4. Python SDKでの思考モデルの利用 [144]
    1. AI Studioでモデル名(例: 2.5-flash-preview)を確認し、Pythonコードでそのモデルを使用する [144]。
    2. generate_content メソッドにプロンプトを渡すのは同じだが、config 引数で thinking_config を定義できる [148]。
    3. thinking_config 内で thinking_budget を指定し、include_thoughts を True に設定すると、思考の要約も取得して出力できる [151]。