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