0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python+Gemini API】環境構築から呼び出しまでを実装してみた

0
Last updated at Posted at 2026-11-10

はじめに

Pythonの勉強がてら、ローカル環境で生成AIを呼び出す処理を実装してみました。
今回使用したのは、Google社の「Gemini API」です。

インターフェースは、2026年6月以降に一般提供された「Interactions API」が推奨されているので、そちらを使用しています。

一言でいうと、従来の「generateContent API」よりも、会話履歴の管理・ツール呼び出し・エージェントの実行などを一元的に扱えるようにしたインターフェースが「Interactions API」です。

Interactions API 公式ドキュメント ▼
https://aistudio.google.com/docs/interactions-overview?hl=ja

技術・動作環境

項目 内容
OS Windows 11 Home
Python Python 3.15.1
AI SDK google-genai(3.0.0)

全体のながれ

Gemini APIには、Google AI Studioから​使う​方​法と Vertex AI経由で使う​方​法があります。

まずは無料枠の範囲で試したかったため、Google AI Studio で小さく始める手順を紹介します。

本番環境や大規模アプリの場合は、Google Cloudの運用基盤に載せられる Vertex AI 活用を推奨

作業手順

  • Google AI StudioでAPIキーを取得する
  • Pythonの開発環境を構築する
  • Gemini APIを呼び出す関数を実装し、動作確認する

手順1. Google AI StudioでAPIキーを取得する

Google AI Studio( https://aistudio.google.com )にアクセスし、Googleアカウントでログインします。

利用に関する同意事項にチェックを入れて「続行」を押すと、「APIキー」画面が表示されます。

{60B8A6CF-8611-43BC-829A-7A59AE41E638}.png


デフォルトで無料枠が設定されているプロジェクトが登録されているので「Default Gemini Project」の「キー」をクリックすると、以下のように APIキーを確認できます。

{42FCECF9-53CF-43DC-971F-CEECE8EDF196}.png

APIキーは認証情報なので、ソースコードに直接記述したり、GitHubなどに公開したりしないようにします。

手順2. Pythonの開発環境を構築する

次に、Pythonの開発環境を準備します。

2-1. プロジェクトフォルダを作成する

今回は以下の構成にしました。

project/
└── backend/

PowerShell で次のコマンドを実行します。
mkdir -p project/backend

上記は親フォルダもまとめて作成するコマンドです。
以下4行を実行した場合と同じ挙動をします。

mkdir project
cd project
mkdir backend
cd backend

2-2. 仮想環境を作成する

以下の手順で紹介しているコマンドは、実行環境に合わせて構文を適宜、置き換えてください。

Pythonには、プロジェクトごとにライブラリを管理できる仕組みがあります。

複数のプロジェクトを開発していると、プロジェクトごとに使いたいライブラリのバージョンが衝突して、プログラムが動かなくなることもあります。

今回は venv を使うことで、プロジェクトごとにクリーンな開発環境を用意します。

python -m venv venv

作成した仮想環境を有効化します。

 .\venv\Scripts\activate

PowerShell で仮想環境の有効化ができない場合、スクリプト実行ポリシーを一時的に許可する以下のコマンドを実行してから、再度試してみてください。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

有効化できると、行頭に `(venv)` が表示されます。

{05F39619-3485-4667-94FB-369F478EF9A2}.png

2-3. 必要なパッケージをインストールする

今回利用するパッケージをインストールします。

pip install google-genai python-dotenv

それぞれの用途は以下のとおりです。
今回は最初のAPI呼び出しまでを行うため、FastAPI や Uvicorn はインストールしません。

パッケージ 用途
google-genai Gemini APIを利用するための公式 Python SDK
python-dotenv .envファイルから環境変数を読み込む

2-4. 環境変数を設定する

ここで、最終的なフォルダ構成を先に紹介しておきます。

エディタや自動的に作られる環境依存のフォルダは気にしなくてよく、以降の手順では .env 以下のファイルを編集します。

AIを呼びだす処理は llm.py に記述します。
動作確認用のプログラムとして try_llm.py を作成していますが、実行できればいいので、なくても構いません。

project/
└── backend/
  └── __pycache__/
  └── .vscode/
  └── venv/
    └── .env
   └── .gitignore
   └── llm.py
   └── (try_llm.py)

環境変数として、手順1で確認した API キーや使用するモデル名を .env に記述します。
今回は「Gemini 3.8 Flash」を例に進めますが、好きなモデルで大丈夫です。

GEMINI_API_KEY="取得したAPIキー"
MODEL_NAME="gemini-3.8-flash"

2-5. .gitignore の設定(Git管理する場合のみ実施)

APIキーが含まれる .env や、仮想環境のフォルダはGitの管理対象から除外します。

.gitignore に以下を記述します。

.env
venv*/
__pycache__/

手順3. Gemini APIを呼び出す関数を作る

ここからは、Python で Gemini APIを呼び出す処理を llm.py に記述します。

3-1. APIクライアントを初期化する

まず、必要なライブラリをインポートします。

import os

from dotenv import load_dotenv
from google import genai

次に、環境変数を読み込み、Gemini API のクライアントを作成します。

load_dotenv()

client = genai.Client()
MODEL = os.environ["MODEL_NAME"]

load_dotenv() は .env に記述した環境変数を読み込むための関数です。
genai.Client() では、環境変数に設定された GEMINI_API_KEY を利用してクライアントを初期化します。

3-2. Gemini APIにリクエストを送る関数を作成

基本的な書き方は、公式ドキュメントに記載のとおりシンプルです。
https://aistudio.google.com/docs/interactions-overview?hl=ja#how-it-works

interaction = client.interactions.create(
    model="",
    input="",
)

今回は、Python の勉強も兼ねているため、ユーザからの入力(input)に加えて、応答指示を受け取る形にしてみました。

「〇〇について説明して」という入力と一緒に「何文字以内で」「どれくらい具体的に」「〇〇の観点から」といった応答に関する方針を渡すことができます。

def ask(prompt: str, system: str = "") -> str:

    kwargs = {}

    if system:
        kwargs["system_instruction"] = system

    interaction = client.interactions.create(
        model=MODEL,
        input=prompt,
        **kwargs,
    )

    return interaction.output_text

system は初期値を空文字にしているため、省略することもできます。
system が指定された場合だけ、system_instruction としてAPIに渡しています。

ここで使用している **kwargs は、辞書に格納したキーと値をキーワード引数として展開する Python の機能です。

以下と同じ動作をします。kwargs に格納したキーと値が増えても **kwargs と書いて一括で渡せます。

interaction = client.interactions.create(
    model = MODEL,
    input = prompt,
    system_instruction = system
)

実務やアプリ開発では、return interaction.output_text で受け取った回答を後続処理できるよう json 形式に変換する関数を定義するかもしれませんが、今回は割愛。

3-3. 動作確認

実際にGemini APIと通信できるか確認します。
動作確認用に try_llm.py を作成する場合は、下記のコードを参考にしてください。

from llm import ask

print(ask("こんにちは。自己紹介をしてください"))

先程の処理を記述した llm.py を実行できれば、他のやり方でも大丈夫です。

応答が出力されるまで数分かかりました。場合によっては5~10分以上。
実行できている場合、辛抱強く待ちましょう。無料枠はどうしても混雑時の安定性に欠けます。

Google AI Studio の「使用量」からリクエスト自体が送信されているかは確認できます。
こちらも、1分くらい待たないと反映されませんでした。

モデルや通信状況によっては「503 ServiceUnavailable」となる場合があるので、時間を置いて再度実行してみてください。
ちなみに、ターミナルを閉じてしまうなど中断すると「499」というコードで記録されます。

API エラーの一覧 ▼
https://aistudio.google.com/docs/api-errors


応答が正常に完了するとこんな感じです。

{C26CA0C7-378D-47B4-9DF6-7C61783A649C}.png


指示文を追加して実行すると、応答も変わります。

print(ask("こんにちは。自己紹介をしてください", "敬語は使わず、端的に"))

{2D0E9B8C-EF2F-4597-BD35-1E8903C04CC5}.png

おわりに

今回は Pythonの環境構築と Gemini API から応答が返ってくるまでの手順を紹介しました。

ここから拡張していく場合、リクエストを送る画面を作ったり、FastAPI を導入したりしてもよさそうです。

Python をキャッチアップ中の方、公式SDK を使ってAIを呼びだしてみたい方の参考になれば幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?