Gemini API を Python で使う - 入門チュートリアル
このYouTubeインサイトノートは LilysAI で作成されました。無料で登録して、動画から10倍速く深くインサイトを得ましょう
Q: PythonでGemini APIを使い始めるにはどうすればよいですか?
Q: Gemini APIの主な機能は何ですか?
Google DeepMindの開発者が、GeminiモデルとPython SDKを使った開発の始め方を解説しています。Google AI StudioでのAPIキー取得から、Pythonでの環境構築、チャット機能、画像・音声などのマルチモーダル処理、そしてGemini 2.5の思考機能まで、具体的なコード例と共に実践的な手順を網羅しています。
1. GeminiとPython SDKによる開発の始め方
GeminiモデルとPython SDKを使って開発を始めるための基本的な手順と、Google AI StudioでのAPIキー取得からPythonでの環境構築、最初のリクエスト送信までを解説する。1.1. Google AI Studioの活用とAPIキーの取得
- Google AI Studioの概要
- AI Studioは、Geminiモデルを試したり、プロンプトや設定を調整したり、機能を探求したりできるプレイグラウンドである 。
- ここでAPIキーを生成し、スターターコードを取得できる 。
- モデルと設定の選択
- 右側でGemini 2.5、2.0、またはGemmaモデルを選択できる 。
- 温度や思考モードなどの設定を調整し、ツールを切り替えることも可能である 。
- APIキーの生成
- AI Studioで「Get API key」をクリックし、「Create API key」を選択する 。
- 新しいプロジェクトを生成するか、既存のプロジェクトを選択してAPIキーを作成する 。
- 生成されたAPIキーはコピーして使用する 。
- 無料枠が提供されており、チュートリアルで紹介されるすべてのコードは無料枠で利用できる 。
1.2. Python SDKのセットアップと最初のAPIリクエスト
- Python SDKのインストール
- Google Gen AI SDKはGitHubで公開されている 。
- 仮想環境をアクティブにしたプロジェクトフォルダで
pip install Google-genaiコマンドを実行してインストールする 。 - 最新版にアップグレードするには
-uフラグを使用する 。
- APIキーの環境変数設定
- セキュリティのため、APIキーは環境変数として保存することが推奨される 。
- Macの場合、
export GEMINI_API_KEY="コピーしたキー"のように設定する 。
- PythonコードでのAPIリクエスト
google.generativeaiをインポートし、genai.clientを使ってクライアントを設定する 。- APIキーは
os.getenv("GEMINI_API_KEY")で環境変数から取得する 。 client.generate_contentメソッドにモデルIDとプロンプト(例: "Why is the sky blue?")を渡してリクエストを送信する 。- レスポンスは
response.textで取得し、出力できる 。 generate_content_streamメソッドを使用すると、結果をリアルタイムでストリーミングできる 。
2. Geminiの高度な機能:チャット、マルチモーダル、思考モデル
Geminiモデルの高度な機能として、会話履歴を保持するチャット機能、画像・音声などのマルチモーダル処理、そしてGemini 2.5モデルの思考機能について解説する。
2.1. チャット機能の実装
- チャットの作成とメッセージ送信
- モデルとチャットするには、
clients.create_chatを呼び出してチャットを作成する 。 chat.send_messageを使ってユーザーの入力をモデルに送信し、result.textで応答を表示する 。
- モデルとチャットするには、
- 会話履歴の追跡
chatクラスはSDK内のユーティリティクラスであり、会話履歴を自動的に追跡する 。- これにより、モデルは以前の会話内容を記憶し、文脈に沿った応答を生成できる 。
2.2. マルチモーダル機能の活用
- 多様なファイルタイプの理解
- Geminiはネイティブにマルチモーダル設計されており、画像、動画、音声など様々なファイルタイプを理解できる 。
- 例として、カップケーキの画像、短い音声ファイル、請求書のPDFファイルが挙げられる 。
- ファイルのアップロードとプロンプトへの組み込み
client.files.uploadを使ってファイルをアップロードする 。generate_contentのcontents引数には、プロンプトとアップロードしたファイルをリストとして渡すことができる 。- 例として、画像ファイルをアップロードし、「この画像を説明してください」というプロンプトで内容を記述させることができる 。
- 音声ファイルの処理
- 音声ファイル(例:
audio.mp3)をアップロードし、「この音声を説明してください」または「この音声ファイルを書き起こしてください」といったプロンプトで処理できる 。 - Geminiは音声の書き起こしにも優れている 。
- 音声ファイル(例:
- PDFファイルの処理(演習)
- 請求書のようなPDFファイルをアップロードし、「請求書から日付と金額を抽出してください」といったプロンプトで情報を抽出する演習が可能である 。
- 直接データ添付
upload関数を使わずに、リクエストに直接データを添付することも可能である 。google.generativeai.typesからtypes.Part.from_bytesを使用し、画像データをバイト形式で渡し、正しいMIMEタイプ(例:image/jpeg)を指定する 。
2.3. 思考モデル(Gemini 2.5)の利用
- 思考機能の概要
- Gemini 2.5モデルは思考機能(thinking capabilities)を備えている 。
- AI Studioで最新の2.5 Flashモデルを選択して試すことができる 。
- 思考モードの設定
- 開発者は思考モードを無効にしたり、思考予算(モデルがステップを処理するために使用できるトークン数)を設定したりできる 。
- 思考予算を0にすると思考は行われず、最大値に設定すると必要なだけトークンを使用する 。
- AI Studioでの思考ステップの確認
- プロンプト(例: 「Pythonを学ぶための学習ロードマップを作成してください」)を実行すると、思考ステップ(例: Pythonプランの開発、学習プランの構造化など)が表示されるボックスを確認できる 。
- その後、学習ロードマップがユーザーに出力される 。
- Python SDKでの思考モデルの利用
- AI Studioでモデル名(例:
2.5-flash-preview)を確認し、Pythonコードでそのモデルを使用する 。 generate_contentメソッドにプロンプトを渡すのは同じだが、config引数でthinking_configを定義できる 。thinking_config内でthinking_budgetを指定し、include_thoughtsをTrueに設定すると、思考の要約も取得して出力できる 。
- AI Studioでモデル名(例:
膨大な資料を天才のように理解 — LilysAI とともに
100万人以上のナレッジシーカーが Lilys AI を利用しています。
