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

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

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

更新日: 4 days ago

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

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

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

モデルとより双方向でダイナミックな会話を行うには、Completions で使われていた従来のプロンプト形式ではなく、チャット形式のメッセージを使用できます。

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

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

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

  • 一般的なロールには systemuserassistantdevelopertool などがあります。tool メッセージはツールや関数の実行結果に使用され、assistant によるツール呼び出しと対応している必要があります。後方互換性を確保するため、function メッセージも引き続き受け付けられ、サーバー側の処理で tool メッセージに変換される場合があります。モデルの対応状況に応じて、developer メッセージはマッピングし直される場合があります。

  • content には、そのロールからのメッセージ本文が含まれます。

  • システム指示では、会話全体に対する指示を指定できます

  • メッセージはリストに並んだ順に処理され、それに応じてアシスタントが応答します。

以下のように、基本的な Completions リクエストも Chat Completions で処理できます。

以前現在
'prompt' : 'tell me a joke''messages': [{'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 をご覧ください。

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