「Gemini APIの利用方法を知りたい」
「Gemini APIをPythonから利用したい」
このような場合には、この記事の内容が参考になります。
この記事では、PythonでGemini APIを利用する方法を解説しています。
本記事の内容
- Generative AIのAPI keyの取得
- Google AI Python SDKのインストール
- Gemini APIの動作確認
それでは、上記に沿って解説していきます。
Generative AIのAPI keyの取得
Gemini APIを利用するためには、APIキーが必要です。
以下のページからAPIを取得できます。
ログイン必須です。
規約に未同意なら、次のような規約が表示されます。

すべてにチェックして、「Continue」ボタンをクリックします。
そうすると、次のようなポップアップが出てきます。

どちらでも好きな方を選んでください。
よくわからない場合は、「Create API key in new project」ボタンをクリック。

生成されたAPIキーをコピーします。
Google AI Python SDKのインストール
Google AI Python SDKを使うと、Googleの最先端ジェネレーティブAIモデルを利用できます。
Geminiだけではなく、PaLMなども利用可能です。
Google AI Python SDKのシステム要件としては、Python 3.9以降と記載されています。
それ以外は、特にないようです。
インストールは、以下のコマンドで行うことができます。
pip install google-generativeai
Python 3.9以降であれば、問題なくインストールできるはずです。
Gemini APIの動作確認
Google AI Python SDKを用いると、以下が可能となります。
- テキストのみの入力からテキストを生成
- テキストと画像の入力からテキストを生成(マルチモーダル)(Geminiのみ)
- マルチターン会話(チャット)の構築
- 埋め込み
主だったモノを検証しましょう。
まずは、チャットですね。
ここでは、一方的ですが強引に会話を行ってみます。
「gemini-pro」を利用するモデルに指定しています。
import google.generativeai as genai GOOGLE_API_KEY = "取得したAPIキー" genai.configure(api_key=GOOGLE_API_KEY) model = genai.GenerativeModel('gemini-pro') chat = model.start_chat() response = chat.send_message('どのプログラミング言語を学べば良いですか?最もオススメの言語を一つだけ教えてください。') print(response.text) print("-" * 50) response = chat.send_message('その言語の特徴は?') print(response.text)
上記を実行した結果は、以下のようになります。
Python -------------------------------------------------- Pythonの特徴は以下の通りです。 * **汎用性:** Pythonは、Web開発、データサイエンス、機械学習、人工知能など、幅広い分野で使用できる汎用言語です。 * **学習の容易さ:** Pythonは、文法がシンプルで読みやすく、初心者でも学習しやすい言語です。 * **コミュニティの大きさ:** Pythonは、世界で最も人気のあるプログラミング言語の一つであり、活発なコミュニティによって支えられています。 * **ライブラリの豊富さ:** Pythonには、膨大な数のライブラリが用意されており、さまざまなタスクを簡単に実行することができます。 * **拡張性:** Pythonは、CやC++などの他のプログラミング言語と連携して使用することができ、拡張性があります。 Pythonは、初心者から上級者まで、幅広いプログラマーに使用されている言語です。その汎用性と学習の容易さから、今後も人気が高まり続けることが予想されます。
次は、マルチモーダルを試してみましょう。
これは、Geminiのみの機能となっています。
まずは、画像を用意しましょう。
person.jpg

この画像をGeminiに判断してもらいます。
以下のコードでそれを行うことができます。
マルチモーダルの場合は、「gemini-pro-vision」をモデルに指定することになります。
import google.generativeai as genai from pathlib import Path GOOGLE_API_KEY = "取得したAPIキー" genai.configure(api_key=GOOGLE_API_KEY) model = genai.GenerativeModel('gemini-pro-vision') picture = [{ 'mime_type': 'image/jpeg', 'data': Path('person.jpg').read_bytes() }] prompt = "これは誰ですか?:" response = model.generate_content( contents=[prompt, picture[0]] ) print(response.text)
上記コードの実行結果は、以下。
これは、織田信長です。
ちなみに、ChatGPT上では次のような結果となっています。

正確には、ChatGPTのAPIと比較すべきなのでしょう。
しかし、この結果を見るとGemini APIの可能性を感じざるを得ないですね。
ついに、Googleが本気を出した!?