API活用入門(コードからChatGPTを呼ぶ)

30分上級

このモジュールで学ぶこと

  • OpenAI APIキーの取得と保管
  • Python から ChatGPT を呼ぶ最小コード
  • モデル選択・パラメータ(temperature・reasoning_effort)の使い分け
  • ストリーミング応答
  • 業務自動化への組み込み観点

学習目標

  • 自分のPCから Python で ChatGPT を呼べる
  • temperature・reasoning_effort を業務目的に応じて設定できる
  • APIキーを 安全に保管 できる
  • 業務でAPIを使うべきか判断できる

目次


セクション1: APIを使うべきか

ChatGPT(Web UI)と OpenAI API は別物だ。APIを使うべき場面 を最初に整理する。

APIを使うべき場面

  • 同じ処理を 1日何百回・何千回 実行する
  • 出力をシステムに自動連携する
  • 自社の業務システムに組み込む
  • 自社サービスの中でAI機能を提供する

Web UI で十分な場面

  • 個人の対話的な利用
  • 1日数回〜数十回の手作業
  • 試行錯誤しながらの設計検討

「APIを使った方がカッコいい」「自動化すれば速い」だけで判断しない。 回数と再現性 で判断する。


セクション2: APIキーの取得

手順

  1. https://platform.openai.com にログイン
  2. 左メニュー「API keys」
  3. 「Create new secret key」をクリック
  4. キーをコピー(この画面でしか全文表示されない
  5. パスワードマネージャー等に安全に保管

APIキーの保管原則

  • コードに直書きしない
  • 環境変数(.env ファイル)に保管
  • リポジトリにコミットしない(.gitignore.env を追加)
  • 共有が必要な場合はチーム用シークレット管理サービスを使う

漏洩したらすぐ無効化

万一キーが漏洩したら、すぐに platform.openai.com で Revoke(無効化)し、新しいキーを発行する。漏洩キーが第三者に使われると 自分のアカウントで課金 されてしまうので、対応は秒単位で動く。


セクション3: 最小サンプルコード

Python で ChatGPT を呼ぶ最小コードを示す。

環境準備

pip install openai python-dotenv

.env ファイル

OPENAI_API_KEY=sk-...your_key_here...

main.py

import os
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

response = client.chat.completions.create(
    model="gpt-5-main",
    messages=[
        {"role": "system", "content": "あなたは丁寧な日本語のビジネスアシスタントです。"},
        {"role": "user", "content": "ChatGPT API入門という記事のタイトル候補を3つ提案してください。"},
    ],
)

print(response.choices[0].message.content)

実行

python main.py

これが基本形だ。messages の配列に system / user / assistant ロールでメッセージを積み重ねるのが対話の表現方法である。


セクション4: 主要パラメータ

model

呼び出すモデル名。2026-05時点で利用可能な代表モデル:

  • gpt-5-main — 高速応答(Fast系)
  • gpt-5-thinking — 推論(Thinking系)
  • gpt-5-thinking-nano — API向け軽量推論

出典: Wikipedia "GPT-5" Architecture & Model Variants(取得日: 2026-05-20・URL: https://en.wikipedia.org/wiki/GPT-5

※ 利用可能なモデル名は公式の最新仕様で都度確認すること。本コースの記載は2026-05-20時点のものだ。

temperature

応答のランダム性を制御するパラメータ(多くの実装で0-2の範囲で受け付ける)。

性質
0.0 - 0.3決定的・再現性高い(分類・抽出・コード生成向き)
0.5 - 0.7バランス型(一般的な業務文書)
0.8 - 1.2創造的(アイデア出し・キャッチコピー)

「業務で再現性が欲しい」場面は 0.2-0.3 にする。「発想を広げたい」場面は 0.8 以上にする。

reasoning_effort(GPT-5系)

GPT-5系で推論の強度を調整するパラメータ。

性質
minimalほぼFast応答
low軽い推論
mediumデフォルト
high重い推論(時間がかかる)

出典: Wikipedia "GPT-5"(取得日: 2026-05-20・URL: https://en.wikipedia.org/wiki/GPT-5

複雑な意思決定は high、定型タスクは lowminimal で十分なケースが多い。

max_tokens

応答の最大長を指定するパラメータ。長すぎる応答を防ぐためにも、業務スクリプトでは明示することを勧める。


セクション5: ストリーミング応答

長い応答を待たずに 少しずつ表示 したい場合、ストリーミングを使う。

stream = client.chat.completions.create(
    model="gpt-5-main",
    messages=[
        {"role": "user", "content": "桜の歴史について500字で書いてください。"},
    ],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

業務システムに組み込むときに、ユーザーが応答を待つUIで体感速度を上げられる。


セクション6: コスト管理

APIは 使った分だけ課金 される。業務で使うときはコスト感を必ず把握する。

課金の構造

  • 入力トークン(プロンプト)
  • 出力トークン(応答)

の合計に対して、モデルごとに単価が設定されている。Thinking 系は通常 Fast 系より高い。

正確な単価は OpenAI 公式の料金ページで都度確認すること(仕様変更が頻繁にあるため)。

コスト管理の習慣

  1. 開発中は 安いモデル(mini / nano)で試す
  2. 本番でも、用途に応じて 適切なモデル を選ぶ
  3. 無限ループでAPIを呼び出すバグに注意(実装ミスで数万円〜数十万円の課金事故が起こり得る)
  4. プラットフォーム側で 月次の上限金額(Hard limit)を設定

開発中の事故防止

  • ローカルでスクリプトを実行する前に 入力件数を限定 する(最初は5件など)
  • ループ内で time.sleep() を入れて連続リクエストを抑制する
  • エラー時に リトライを無限に繰り返さない 実装にする

まとめ

  • API利用は 回数と再現性 で判断する
  • APIキーは環境変数に保管し、コードに直書きしない
  • 最小サンプルは messages 配列 + model 指定で動く
  • temperature で再現性と創造性を調整
  • reasoning_effort で推論の強度を調整
  • ストリーミングで体感速度を上げる
  • コスト管理は 安いモデルから試す・上限金額設定・連続リクエスト抑制 が基本

次のモジュールでは、業務利用で必須となる安全・著作権・社内ガイドラインを扱う。

次の一歩のヒントを LINE で受け取る

進路・キャリア・働き方の最新情報や学習教材を、LINE でゆるく届けます。

LINE で友だち追加

このページをブックマークしておこう

進路に迷ったらいつでも戻ってこられるよう、ホーム画面に追加 or ブックマークしておくと便利。

学習教材一覧を見る
ProjectsArticlesCoursesContact