以下は、公式の openai-python ライブラリ(GitHub: openai/openai-python)を参考にした、日本語のチュートリアルです📘
1. 概要
openai-python は、Python(3.8以上)から OpenAI API を手軽に呼び出せる公式ライブラリです。HTTP クライアントは httpx を使用し、同期/非同期の両対応、型情報も充実しています (github.com)。
2. インストール
pip install openai
またはソースコードからインストール:
git clone https://github.com/openai/openai-python.git
cd openai-python
python setup.py install
3. API キーの設定
環境変数に API キーをセットするのが推奨される方法です:
export OPENAI_API_KEY="sk-あなたのキー"
または、コード中で直接指定:
import openai
openai.api_key = "sk-あなたのキー"
4. 基本的な使い方
チャット(Chat Completions API)
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": "こんにちは!"}
]
)
print(completion.choices[0].message.content)
テキスト生成(Completions API)
import openai
openai.api_key = "sk-..."
resp = openai.Completion.create(
model="text-davinci-003",
prompt="今日の天気を教えて?"
)
print(resp.choices[0].text.strip())
埋め込み(Embeddings)
resp = openai.Embedding.create(
input="サンプルテキスト",
model="text-similarity-davinci-001"
)
vector = resp['data'][0]['embedding']
画像生成(DALL·E)
img = openai.Image.create(
prompt="水彩画風の猫",
n=1,
size="512x512"
)
print(img.data[0].url)
音声文字起こし(Whisper)
with open("audio.mp3", "rb") as f:
result = openai.Audio.transcribe("whisper-1", f)
print(result.text)
5. 非同期(async)呼び出し
import openai
async def main():
resp = await openai.ChatCompletion.acreate(
model="gpt-3.5-turbo",
messages=[{"role":"user","content":"やあ"}]
)
print(resp.choices[0].message.content)
非同期には aiohttp を使った openai.aiosession の設定も可能 (github.com)。
6. コマンドラインツール
openai api models.list
openai api chat_completions.create -m gpt-3.5-turbo -g user "こんにちは"
openai api image.create -p "赤いバラのイラスト" -n 1
API 呼び出しや画像生成などが CLI から手軽にできます 。
7. ドキュメント・参考資料
- リポジトリの
api.mdに各エンドポイントの詳細あり (github.com) - サンプル集として「OpenAI Cookbook」リポジトリも大変参考になります (github.com)
- 初心者向けの Quickstart Python リポジトリ(openai-quickstart-python)もおすすめ (github.com)
8. まとめ
| 機能 | 説明 |
|---|---|
| インストール | pip install openai |
| 設定方法 | 環境変数 or 直接代入 |
| 主なAPI | チャット、テキスト生成、埋め込み、画像、音声文字起こし |
| 呼び出し形式 | 同期/非同期 両対応 |
| その他 | CLI 付き、型安全、ドキュメントも豊富 |
このチュートリアルをベースに、大学の授業や個人プロジェクトで Python から OpenAI API を活用する際の土台として役立ててください。もし、「エージェントSDK」や「ストリーミング取得」など応用編にも興味があれば、続けてサポートいたします!