ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
| この記事の要点 |
|
OpenAI API とは
OpenAI API は、ChatGPT で使われている GPT-5 / GPT-4o / o1 等の AI モデルを、自分のプログラムやサービスから呼び出せる REST API です。Web ブラウザの ChatGPT を使うのではなく、Python や Node.js で「AI 機能を組み込んだアプリ」を作るためのインターフェースになります。
2025 年現在、OpenAI API は世界で最も使われている生成 AI API で、社内チャットボット・要約サービス・カスタマーサポート Bot・コード生成ツールなど、数えきれないほどのアプリケーションが構築されています。
セットアップ・準備
1. API キーの取得
- platform.openai.com にアクセスして OpenAI アカウントでログイン
- 右上のメニューから「API keys」を選択
- 「Create new secret key」をクリックして名前を付ける(例: my-app)
- 表示された
sk-...形式のキーを安全な場所にコピー(一度しか表示されない) - 「Billing」から支払い情報を登録(最低 $5 のチャージから始められる)
2. Python での環境構築
# Python 3.8 以上が必要
pip install openai
# 環境変数にキーを設定(推奨)
export OPENAI_API_KEY="sk-..." # Linux / Mac
setx OPENAI_API_KEY "sk-..." # Windows
3. Node.js での環境構築
# Node.js 18 以上が必要
npm install openai
# または
yarn add openai
# 環境変数 OPENAI_API_KEY を .env に設定
最初のコード — Hello World
Python 版
from openai import OpenAI
client = OpenAI() # OPENAI_API_KEY 環境変数から自動読み込み
response = client.chat.completions.create(
model="gpt-5",
messages=[
{"role": "system", "content": "あなたは親切な日本語アシスタントです。"},
{"role": "user", "content": "Pythonでフィボナッチ数列を出力するコードを教えて"}
]
)
print(response.choices[0].message.content)
print(f"使用トークン: {response.usage.total_tokens}")
Node.js 版
import OpenAI from "openai";
const client = new OpenAI(); // process.env.OPENAI_API_KEY から自動読み込み
const response = await client.chat.completions.create({
model: "gpt-5",
messages: [
{ role: "system", content: "あなたは親切な日本語アシスタントです。" },
{ role: "user", content: "JavaScriptでクイックソートを書いて" }
]
});
console.log(response.choices[0].message.content);
console.log(`使用トークン: ${response.usage.total_tokens}`);
主要機能
| 機能 | 説明 | 用途 |
|---|---|---|
| Chat Completions | 会話形式で AI に質問・回答を取得 | チャットボット・要約・翻訳 |
| Streaming | レスポンスをトークン単位で逐次受信 | リアルタイム表示・UX 改善 |
| Function Calling | AI に関数(ツール)を呼ばせる | 外部 API 連携・DB 検索・Agent |
| Vision (画像入力) | 画像を入力して AI に分析させる | OCR・画像理解・図表分析 |
| Embeddings | テキストをベクトル化 | RAG・類似検索・推薦システム |
| Whisper | 音声→テキスト変換 | 文字起こし・音声検索 |
| TTS | テキスト→音声合成 | 読み上げ・音声 UI |
| DALL-E 3 | 画像生成 | イラスト・サムネ自動生成 |
| Batch API | 大量リクエストを 50% 安く処理 | バルク要約・データクレンジング |
実践コード例
例 1: ストリーミング(リアルタイム表示)
from openai import OpenAI
client = OpenAI()
stream = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "宇宙の歴史を300字で"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
print()
例 2: Function Calling(AI に天気 API を呼ばせる)
from openai import OpenAI
import json
client = OpenAI()
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "指定した都市の現在の天気を返す",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "都市名(例: Tokyo)"}
},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "東京の天気を教えて"}],
tools=tools,
)
tool_call = response.choices[0].message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
print(f"呼び出された関数: {tool_call.function.name}({args})")
# → get_weather({'city': 'Tokyo'}) が返るので、実装側で実 API を叩く
例 3: Vision(画像入力)
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-5",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "この画像に何が写っている?"},
{"type": "image_url", "image_url": {
"url": "https://example.com/photo.jpg"
}}
]
}]
)
print(response.choices[0].message.content)
料金・トークン消費
| モデル | 入力 ($/1M tokens) | 出力 ($/1M tokens) | 用途 |
|---|---|---|---|
| gpt-5 | $1.25 | $10.00 | ★ 万能・最新フラッグシップ |
| gpt-5-mini | $0.25 | $2.00 | 軽量タスク・大量処理向け |
| gpt-4o | $2.50 | $10.00 | マルチモーダル特化 |
| gpt-4o-mini | $0.15 | $0.60 | 最安・量産向け |
| o1 | $15.00 | $60.00 | 難問・推論特化 |
| text-embedding-3-large | $0.13 | — | 埋め込み(RAG 用) |
トークンとは?
トークンは GPT がテキストを処理する単位。日本語の場合、1 文字 ≒ 1〜2 トークン、英語は 1 単語 ≒ 1.3 トークン程度。例えば「こんにちは、世界!」は約 8 トークン。1,000 文字の日本語文章は約 1,500〜2,000 トークンになります。
コスト計算例
- GPT-5 で毎日 100 回、平均「入力 500 tokens + 出力 1000 tokens」の問い合わせ
- 月間: 30日 × 100 = 3,000 リクエスト = 入力 150 万 tokens + 出力 300 万 tokens
- 料金: 1.5 × $1.25 + 3.0 × $10 = 約 $32 / 月
注意点・落とし穴
- API キーの管理: GitHub にコミットしない、フロントエンドに埋め込まない、漏洩したら即 revoke
- レート制限 (RPM / TPM): 無料 / 低額枠ではすぐ枯渇、Tier を上げると緩和される
- エラーハンドリング: 429 (Rate Limit) / 500 (Server Error) でリトライ実装必須(指数バックオフ推奨)
- タイムアウト: GPT-5 は数秒〜数十秒かかる、デフォルトより長めに設定
- トークン超過:
max_tokensを指定しないと長文で予期せず高額になる - 個人情報: API 経由でも入力データはログに残る可能性、Zero Data Retention 契約は Enterprise のみ
- ハルシネーション: 自信満々に嘘を生成することがある、業務利用では人間レビュー必須
エラーハンドリングのサンプル(Python)
from openai import OpenAI, RateLimitError, APIError
import time
client = OpenAI()
def chat_with_retry(messages, max_retries=5):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model="gpt-5",
messages=messages,
timeout=60,
)
except RateLimitError:
wait = 2 ** attempt
print(f"Rate limit. {wait}秒待機...")
time.sleep(wait)
except APIError as e:
print(f"API error: {e}. リトライします...")
time.sleep(2 ** attempt)
raise RuntimeError("リトライ上限")
関連リンク
- Anthropic Claude API 入門 — Claude 4 を使い倒す
- RAG (Retrieval-Augmented Generation) 入門
- LangChain 入門 — LLM アプリ開発フレームワーク
- ChatGPT の使い方完全ガイド
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
子ページ
子ページはありません
同階層のページ
- OpenAI API 入門 — Python / Node.js から GPT-5 を呼ぶ
- Anthropic Claude API 入門 — Claude 4 を使い倒す
- RAG (Retrieval-Augmented Generation) 入門
- LangChain 入門 — LLM アプリ開発フレームワーク
人気ページ
- 1 AIツール初心者向け使い方ガイド|ChatGPT/Claude/Midjourney 等の使い方を初心者向けに解説
- 2 Suno 使い方完全ガイド|AI 楽曲生成 / 歌詞付き / 商用利用 / 日本語対応
- 3 入門・基礎知識|AIツール初心者向け使い方ガイド
- 4 Runway 使い方完全ガイド|Gen-3 / Text-to-Video / Image-to-Video
- 5 チャット AI|AIツール初心者向け使い方ガイド
- 6 画像生成 AI|AIツール初心者向け使い方ガイド
- 7 Gemini 使い方完全ガイド|Google 製 AI / Workspace 統合 / Deep Research
- 8 AI コーディング|AIツール初心者向け使い方ガイド
- 9 動画生成 AI|AIツール初心者向け使い方ガイド
- 10 Microsoft Copilot 使い方完全ガイド|Office / Windows / 365 Copilot
最近更新/作成されたページ
- AIツール初心者向け使い方ガイド|ChatGPT/Claude/Midjourney 等の使い方を初心者向けに解説 2026-05-17 09:27:49
- Runway 使い方完全ガイド|Gen-3 / Text-to-Video / Image-to-Video 2026-05-17 09:26:13
- ElevenLabs 使い方完全ガイド|AI 音声 / Voice Cloning / 商用利用 2026-05-17 09:26:13
- NotebookLM 使い方完全ガイド|Google AI 知識ベース / 音声ポッドキャスト生成 2026-05-17 09:26:13
- Stable Diffusion ローカル環境構築|AUTOMATIC1111 / SDXL / 無料・商用可 2026-05-17 09:26:13
- Suno 使い方完全ガイド|AI 楽曲生成 / 歌詞付き / 商用利用 / 日本語対応 2026-05-17 09:26:13
- Notion AI 使い方完全ガイド|社内ナレッジ Q&A / AI 執筆 / 翻訳 2026-05-17 09:26:13
- Perplexity 使い方完全ガイド|引用元付き AI 検索エンジン / Pro Search 2026-05-17 09:26:13
- Midjourney 使い方完全ガイド|料金・プロンプト・主要機能・商用利用 2026-05-17 09:26:13
- GitHub Copilot 使い方完全ガイド|VS Code / JetBrains / Chat / Edits 2026-05-17 09:26:13
- Claude Code 使い方完全ガイド|Anthropic 公式 CLI コーディング エージェント 2026-05-17 09:26:13
- Cursor 使い方完全ガイド|AI 統合 IDE / Tab 補完 / Composer 2026-05-17 09:26:13
- Gemini 使い方完全ガイド|Google 製 AI / Workspace 統合 / Deep Research 2026-05-17 09:26:13
- Claude 使い方完全ガイド|Anthropic 製 AI / Artifacts / Projects / Computer Use 2026-05-17 09:26:13
- ChatGPT 使い方完全ガイド|無料/有料プラン・プロンプト・業務活用法 2026-05-17 09:26:13
コメントを削除してもよろしいでしょうか?