OpenAI APIの呼び出し:chat.completions
OpenAIのchat.completionsエンドポイントにメッセージを送り、temperatureとmax_tokensを設定して、レスポンスを解析します。
「OpenAI APIの呼び出し:chat.completions」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
なぜchat.completionsなのか?
OpenAIには2つのAPIがあります。
- chat.completions — 標準的で広くサポートされているエンドポイント
- Responses API / Assistants — マネージドエージェント(より高度)
このレッスンでは、エージェントの95%で中核となるchat.completionsを扱います。
SDKをインストールする
必要なパッケージは1つ、行も1行です。
# pip install openai
from openai import OpenAI
client = OpenAI() # reads OPENAI_API_KEY from env最初の呼び出し
最小構成のcompletionは次のとおりです。
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': 'You are concise.'},
{'role': 'user', 'content': 'Capital of France?'},
],
)
print(response.choices[0].message.content)
# 'Paris'レスポンスオブジェクトの構造
レスポンスには、テキスト以外の情報も含まれています。便利なフィールドは次のとおりです。
response.choices[0].message.content # the text
response.choices[0].finish_reason # 'stop' / 'length' / 'tool_calls'
response.usage.prompt_tokens # input tokens
response.usage.completion_tokens # output tokens
response.usage.total_tokens # sum
response.id # 'chatcmpl-...' for tracing主要なパラメーター
model— 使用するモデルtemperature— 0.0は決定論的、1.0は創造的max_tokens— 出力長の上限top_p— temperatureの代替seed— 再現可能な出力(ただし注意点があります)
タスクに応じてtemperatureを選ぶ
- 0.0 — 抽出、分類、コード生成
- 0.2〜0.5 — ほとんどのエージェントの判断
- 0.7〜1.0 — クリエイティブライティング、ブレインストーミング
停止シーケンス
特定のマーカーが現れた時点で出力を切り上げます。
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
stop=['\n\n', 'END'],
)
# Stops as soon as a blank line or 'END' appears.複数の候補
1回の呼び出しでN個の候補を生成します。
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
n=3, # three samples
)
for choice in response.choices:
print(choice.message.content)処理すべきエラーの種類
RateLimitError— 429。待機して再試行しますAPIConnectionError— ネットワークの問題APITimeoutError— 応答が遅いAuthenticationError— APIキーが正しくないBadRequestError— スキーマの問題
非同期呼び出し
スループットの高いエージェントでは、非同期クライアントを使用してください。
from openai import AsyncOpenAI
import asyncio
client = AsyncOpenAI()
async def ask(q):
r = await client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': q}],
)
return r.choices[0].message.content
results = asyncio.run(asyncio.gather(*[ask(q) for q in questions]))タイムアウトとリトライが組み込み済み
SDKでは、デフォルトで一部のリトライが行われます。次のように上書きできます。
client = OpenAI(
timeout=30.0,
max_retries=3,
)終了理由
finish_reason == "length"は何を意味しますか?
まとめ
これでPythonからOpenAIを呼び出せるようになりました。次は、細かいながらも重要な違いがあるAnthropic APIを扱います。
よくある質問
「OpenAI APIの呼び出し:chat.completions」レッスンは無料ですか?
はい。「OpenAI APIの呼び出し:chat.completions」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「OpenAI APIの呼び出し:chat.completions」で何を学びますか?
OpenAIのchat.completionsエンドポイントにメッセージを送り、temperatureとmax_tokensを設定して、レスポンスを解析します。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「OpenAI APIの呼び出し:chat.completions」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- OpenAI APIの呼び出し:chat.completions
- Anthropic APIの呼び出し:messages
- レスポンスのストリーミング(SSE)
- コストを意識する:トークン数のカウントと予算