GeminiをPythonで使う方法をお探しですね。
広告
PythonでGeminiを動かそう!基礎から実践まで完全ガイド
Googleが作った生成AI「Gemini」は、画像もテキストも扱えるマルチモーダル機能と処理スピードの速さで話題になっています。
「Google Generative AI SDK」というPythonライブラリを使えば、チャットボットを作ったり、データ分析をしたり、文章を自動生成したりと、いろんなことができるようになります。
この記事では、環境の準備からコードの書き方、さらに実際に使える応用テクニックまで、分かりやすく説明していきます!
まずは準備!Geminiを使うための環境づくり
PythonでGeminiを使うには、Googleが公式に提供しているSDKを使うのが一番簡単です。
以前はいくつかのライブラリがバラバラにあったんですが、今は「Google Gen AI SDK」という新しいライブラリが登場して、Google AI StudioでもVertex AIでも同じように使えるようになりました。
使うプラットフォームは、個人で試してみたいなら無料で始められる「Google AI Studio」がおすすめです。
会社で本格的に使いたい場合やセキュリティをしっかりしたい場合は「Vertex AI」を選びましょう。
Google AI Studioを使うならAPIキーを発行すればOK、Vertex AIならGoogle Cloudのプロジェクトを作って認証設定をする必要があります。
環境が整ったら、Pythonにライブラリをインストールしましょう。
Google Colabを使っている人も同じ手順でできます。
下のコマンドを実行すれば準備完了です!
“`bash
! pip install --upgrade --quiet google-genai
“`
これで、Pythonのコードを書いてGeminiに質問したり、画像を認識させたりできるようになります。
実際にコードを書いてみよう!基本的なテキスト生成
ライブラリがインストールできたら、さっそくGeminiを動かしてみましょう。
まずは一番基本的な「テキスト生成」から始めます。
最初にライブラリを読み込んで、クライアントを準備します。
Vertex AIを使う場合は、プロジェクトIDと場所(リージョン)を指定してあげます。
下のコードは、最新のGeminiモデル(Gemini 2.0 Flashなど)に質問を投げて、答えをもらうシンプルな例です。
`generate_content`というメソッドを使えば、質問に対するAIの回答が返ってきます。
このメソッドは答えが全部できあがるまで待ってから結果を表示するので、短い質問に向いています。
“`python
from google import genai
# クライアントの初期化(Vertex AIを使用する例)
client = genai.Client(
vertexai=True,
project="your-project-id",
location="us-central1"
)
# テキスト生成の実行
response = client.models.generate_content(
model="gemini-2.0-flash-exp",
contents="太陽系で最大の惑星を教えてください。"
)
print(response.text)
“`
このコードを実行すると、Geminiが「太陽系で一番大きい惑星は木星です」みたいな答えを返してくれます。
レスポンスには生成されたテキスト以外にも安全性の評価とか色々入っていますが、基本的には `.text` で答えの本文が取り出せます。
たった数行のコードで、すごく賢いAIが使えちゃうんです!
もっと便利に!ストリーミングと会話機能を使いこなそう
チャットボットみたいな対話型のアプリを作るときは、答えが全部できあがるまで待つんじゃなくて、できた部分からどんどん表示する「ストリーミング生成」があると便利です。
あと、前の会話を覚えていて話の流れを理解してくれる「マルチターンチャット」も大事な機能です。
SDKを使えば、こういった機能も簡単に実装できます。
ストリーミング生成をするには、`generate_content_stream`というメソッドを使います。
これを使うと、AIが文章を作っている途中で、できた部分を少しずつ受け取れます。
まるでAIがその場で入力しているみたいな演出ができて、ユーザーを待たせるストレスが減らせます。
長い物語を作らせたり、詳しい説明を求めたりするときに特に便利です。
* **ストリーミング生成:** `generate_content_stream` を使って、できた部分から順番に表示
* **チャット機能:** `chats.create` でチャットを始めて、会話の履歴を自動で管理してもらう
* **非同期処理:** `client.aio` を使って、Webアプリなど複数の処理を同時にこなす
会話機能を使うには、`chats.create`でチャットセッションを作ります。
このチャットオブジェクトに`send_message`でメッセージを送ると、SDK側で自動的に会話の履歴を管理してくれます。
例えば、「このコードのバグを見つけて」って頼んだ後に、「修正したコードを書いて」とだけ言っても、AIは「このコード」が何か覚えているので、ちゃんと修正案を出してくれます。
もっと高度なことにチャレンジ!Gemini 2.0 Flashと応用テクニック
基本的な使い方がわかったら、もっと高度な機能にも挑戦してみましょう。
最新の「Gemini 2.0 Flash」は、処理スピードと考える力がすごく良くなっていて、複雑なことや画像・動画を使った処理もできます。
ここでは、非同期処理でスピードアップしたり、外部のツールと連携したりする方法を紹介します。
Webアプリのバックエンドなど、たくさんのリクエストを同時に処理しないといけない場合は、非同期処理(Async)を使うのがおすすめです。
SDKの `client.aio` を使えば、Pythonの `async/await` という書き方で非同期リクエストができます。
これを使うと、Geminiに質問している間も他の処理を止めずに動かせるので、システム全体の反応が良くなります。
それから、Geminiには「ツール利用(Function Calling)」や「マルチモーダル入力」っていう強力な機能もあります。
テキストだけじゃなくて画像や動画も読み込ませたり、Google検索やGoogleマップみたいな外部ツールをAIに操作させたりできるんです。
例えば、手書きのメモの写真を読み込ませてデジタル化したり、最新の為替レートを調べて計算させたりと、もっと実用的なことができるようになります。
“`python
import asyncio
async def generate_story():
# 非同期クライアントの使用
response = await client.aio.models.generate_content(
model="gemini-2.0-flash-exp",
contents="タイムトラベルするリスの冒険を短編小説にしてください。"
)
print(response.text)
# 非同期関数の実行
# asyncio.run(generate_story()) # 実行環境に合わせて呼び出し
“`
このように、Google Generative AI SDKは単なる文章生成ツールじゃなくて、画像認識から外部ツールとの連携、高速な非同期処理まで、今どきのAIアプリ開発に必要な機能が全部揃っています。
まずは自分のPython環境で基本的なコードを動かして、Geminiの可能性を実際に体験してみてください。
コードを一行書くたびに、次世代のAI体験があなたの手元で動き出しますよ!
広告
