0Pricing
AI Agents · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. OpenAI APIの呼び出し:chat.completions
  2. Anthropic APIの呼び出し:messages
  3. レスポンスのストリーミング(SSE)
  4. コストを意識する:トークン数のカウントと予算
← AI Agentsに戻る