Chat Completions は、OpenAI の最新モデルで使用する標準 API です。使い始める方法については、テキスト生成開発者ガイドをご覧ください。
2025 年 3 月 11 日時点で、新しい Agents プラットフォームの構成要素をリリースしました。詳細については、Responses API、Web Search、File Search、Computer Use などの Tools、および Agents SDK と Tracing に関する API ドキュメントをご覧ください。
プロンプトからメッセージへ
当社のモデルとよりインタラクティブで動的な会話を行うには、Completions で使われていた従来のプロンプト形式の代わりに、チャット形式のメッセージを使用できます。
仕組みは次のとおりです。
単一のプロンプト文字列を送信する代わりに、メッセージオブジェクトのリストを入力として送信します。
各メッセージには
roleがあり、通常はcontentもあります。一般的なロールには、
system、user、assistant、developer、toolがあります。ツールメッセージはツールや関数の結果に使用され、アシスタントのツール呼び出しに対応している必要があります。後方互換性のため、関数メッセージは引き続き受け付けられ、サーバー側の処理でツールメッセージに変換される場合があります。開発者メッセージは、モデルの対応状況に応じて再マッピングされる場合があります。contentには、そのロールからのメッセージ本文が含まれます。システム指示では、会話全体に対する大まかな指示を指定できます
メッセージはリストに表示されている順に処理され、アシスタントはそれに応じて応答します。
以下のように、基本的な Completions リクエストでも Chat Completions で実行できます。
| 以前 | 現在 | | 'prompt' : 'tell me a joke' | 'messages': <br>[{'role':'user', 'content':'tell me a joke'}] |
これで、会話内のメッセージリストを拡張するだけで、モデルとのやり取りがこれまでになく簡単になります。
'messages': [{'role':'user', 'content':'冗談を聞かせて'},
{'role':'assistant', 'content':'なぜ鶏は道を渡ったのか'},
{'role':'user', 'content':'わかりません。なぜ鶏は道を渡ったのですか'}]システム指示
システムレベルの指示を使って、会話全体にわたるモデルの動作を導くこともできます。たとえば、システム指示と次のようなメッセージを使います
'messages': [{'role':'system', 'content':'あなたはシェイクスピアのように話すアシスタントです。'},
{'role':'user', 'content':'冗談を聞かせて'}, 次のような結果になります
{...
'message': {'role':'assistant',
'content':'なぜ鶏は道を渡ったのか? 向こう側へ行くためでござった。されど、まことに向こう側は危険と災いに満ちておったゆえ、まことや、鶏は急ぎ元来た場所へ戻ったのじゃ!'}
...}メッセージの会話履歴を自分で管理する必要がない選択肢を検討したい場合は、Assistants API をご覧ください。
