OpenAI
このページは機械翻訳されています。元の英語の記事を表示

OpenAI API での Completions から Chat Completions への移行

従来の OpenAI Completions API から Chat Completions に移行する方法

更新日: yesterday

Chat Completions は、OpenAI の最新モデルで使用する標準 API です。使い始める方法については、テキスト生成開発者ガイドをご覧ください。

2025 年 3 月 11 日時点で、新しい Agents プラットフォームの構成要素をリリースしました。詳細については、Responses APIWeb SearchFile SearchComputer Use などの Tools、および Agents SDKTracing に関する API ドキュメントをご覧ください。

プロンプトからメッセージへ

当社のモデルとよりインタラクティブで動的な会話を行うには、Completions で使われていた従来のプロンプト形式の代わりに、チャット形式のメッセージを使用できます。

仕組みは次のとおりです。

  • 単一のプロンプト文字列を送信する代わりに、メッセージオブジェクトのリストを入力として送信します。

  • 各メッセージには role があり、通常は content もあります。

  • 一般的なロールには、systemuserassistantdevelopertool があります。ツールメッセージはツールや関数の結果に使用され、アシスタントのツール呼び出しに対応している必要があります。後方互換性のため、関数メッセージは引き続き受け付けられ、サーバー側の処理でツールメッセージに変換される場合があります。開発者メッセージは、モデルの対応状況に応じて再マッピングされる場合があります。

  • 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 をご覧ください。

この記事は役に立ちましたか?