目次
スポンサーリンク
OpenAI APIとは?
OpenAI APIは、ChatGPTを動かしているAI技術をプログラムから直接操作できるサービスです。
主な用途は以下の通りです。
- テキスト生成・要約・翻訳
- コードの自動生成・レビュー
- チャットボットの構築
料金は従量課金制です。使った分だけ課金される仕組みで、入門用途なら月数百円程度に収まることがほとんどです。今回使用するgpt-4o-miniはコストパフォーマンスが高くおすすめです。
事前準備
APIキーの発行
- OpenAI Platform にアクセスしてアカウントを作成
- ダッシュボードから「API Keys」→「Create new secret key」でAPIキーを発行
- 発行されたキーは一度しか表示されないので必ずメモしておく
ライブラリのインストール
以下の2つをインストールします。
pip install openai python-dotenv
openai:OpenAI APIを呼び出すための公式ライブラリpython-dotenv:APIキーを環境変数で安全に管理するためのライブラリ
APIキーを環境変数で管理する
APIキーをコードに直接書くのはNGです。誤ってGitHubに公開してしまうリスクがあります。.envファイルで管理しましょう。
プロジェクトのルートに.envファイルを作成し、以下のように記述します。
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
また、.gitignoreに.envを追加して、誤って公開しないようにしておきましょう。
.env
テキスト生成のコード
では実際にAPIを呼び出してみましょう。以下のコードをそのまま実行できます。
from openai import OpenAI
from dotenv import load_dotenv
import os
# .envファイルの内容を読み込む
load_dotenv()
# クライアントの初期化
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# APIリクエスト
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": "Pythonの魅力を一言で教えて"}
]
)
# レスポンスの表示
print(response.choices[0].message.content)
実行するとこのような出力が得られます。
シンプルな文法と豊富なライブラリで、アイデアをすぐにカタチにできる言語です。
messagesの構造について
messagesはリスト形式で、各メッセージにrole(役割)とcontent(内容)を指定します。
| role | 役割 |
|---|---|
system | AIの振る舞いや前提条件を設定する(「丁寧に答えて」「日本語のみで回答して」など) |
user | ユーザーからの入力(質問・指示) |
assistant | AIの過去の返答(会話履歴を持たせるときに使用) |
主要パラメータの解説
よく使うパラメータをまとめます。
| パラメータ | 役割 | 推奨値・目安 |
|---|---|---|
model | 使用するモデルの指定 | gpt-4o-mini(コスパ良・入門向け) |
temperature | 出力のランダム性(0〜2) | 創作:1.0〜1.5 / 要約・翻訳:0.0〜0.3 |
max_tokens | 出力の最大トークン数 | 用途に応じて調整(未指定で自動) |
temperatureを変えて試してみましょう。
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": "短い詩を書いて"}
],
temperature=1.5, # 高いほど創造的・ランダムな出力になる
max_tokens=200
)
まとめ
今回やったことを振り返ります。
- OpenAI APIキーを発行し、
.envで安全に管理した openaiライブラリを使ってテキスト生成を実行したsystem/userロールの使い分けと主要パラメータを学んだ
次回は会話履歴を管理して、文脈を理解するChatbotを作る方法を解説します。
コメント