詳細な使用方法については、テキスト生成機能のドキュメントをご参照ください。
エンドポイント
リクエストパラメータ
以下は、chat completionリクエストに必要なパラメータに関する情報です。必須パラメータ
パラメータ | 型 | 説明 |
---|---|---|
model | String | 使用するモデルの名称。対応モデルをご覧ください。 |
messages | Array | 会話履歴。各メッセージにはrole とcontent が必要です。 メッセージオブジェクトの構造 をご確認ください。 |
メッセージオブジェクトの構造
messages
配列内の各オブジェクトは以下のフィールドを持ちます。
フィールド | 型 | 説明 |
---|---|---|
role | String | メッセージの発信者を示します。指定可能な値は system 、user 、assistant です。 |
content | Mixed | メッセージの内容。テキストのみの場合は文字列、マルチモーダルコンテンツの場合は配列形式になります。テキストおよびマルチモーダルの例をご参照ください。 |
テキスト形式の例
マルチモーダル形式の例
オプションパラメータ
以下は、モデルの挙動を調整するために使用可能なオプションパラメータです。各パラメータの型、説明、デフォルト値を記載しています。パラメータ | 型 | 説明 | 値の範囲・デフォルト値 |
---|---|---|---|
max_tokens | Integer | 出力する最大トークン数。モデルのコンテキスト長によって制限されます。 | なし |
temperature | Float | 出力のランダム性を制御します。値が大きいほど多様性が増します。 | 0 ~ 1 |
top_p | Float | トークンの選択確率に制限を加え、多様な応答を生成します。 | 0 ~ 1 |
top_k | Integer | トークン選択の候補数を制限します。 | 1 ~ 100 |
stop | String, array, null | 出力を停止するトークン列を最大4つ指定できます。応答の長さ制御に役立ちます。 | デフォルト: null |
stream | Boolean, null | true に設定すると、応答がストリーミング形式で返されます。false の場合は、すべての応答が生成完了後にまとめて返されます。 | デフォルト: false |
stream_options | Object, null | stream: true の場合における、追加のストリーミングオプションを指定します。現在は include_usage (boolean) のみ使用できます。 | デフォルト: null |
Function calling パラメータ
Function callingに対応するモデルでは、以下の3つのパラメータが使用可能です。詳細は function calling のドキュメントを御覧ください。パラメータ | 型 | 説明 | 値 |
---|---|---|---|
tools | Array | モデルが呼び出せる外部ツール (現在は関数のみ対応) を定義します。詳細は toolsパラメータの使用例 をご参照ください。 | None |
response_format | Object | 出力を有効なJSON形式に整えます。構造化された応答を得たい場合は { "type": "json_object" } を指定してください。 また、出力形式を事前に定義したJSONスキーマに準拠させる場合は{"type": "json_schema", "json_schema": { ... }} を使用します。これにより、生成される応答が指定したスキーマに準拠するようモデルの出力が制約されます。 | None |
tool_choice | String, object | ツールの使用方法を制御します。auto (自動)、required (強制)、または特定の関数を指定可能です。詳細はtool_choiceの値一覧 をご参照ください。 | デフォルト: auto |
toolsパラメータの使用例
以下の表は、tools
パラメータの構造を示しています。
型 | オブジェクトのフィールド | 説明 |
---|---|---|
Function | name (string ) | 呼び出す関数の名前。 |
description (string ) | 関数の機能の簡潔な説明。 | |
parameters (object ) | 関数の引数を定義するオブジェクト。 | |
parameters.type (string ) | parameters オブジェクトのデータ型。 (常に "object" を指定します。) | |
parameters.properties (object ) | 各引数とそのプロパティを定義します。 | |
parameters.properties.<param_name> (object ) | 各引数はオブジェクトとして定義されtype (データ型) と description (説明) を含みます。 | |
parameters.required (array ) | 関数の実行に必要な引数を列挙した配列。 |
tool_choiceに指定可能な値
以下の表は、tool_choice
パラメータによってモデルが外部関数とどのように連携するかを示しています。
値 | 説明 |
---|---|
auto | 応答の生成と関数の呼び出しをモデルが自動的に選択しますtool_choice を指定しない場合のデフォルト動作です。 |
required | モデルに関数の呼び出しを強制します。必ず1つ以上の関数が選択されて呼び出されます。 |
リクエスト例
以下は、テキストモデルに対してストリーミング応答を要求する際のリクエストボディの例です。Example text model request
レスポンス形式の例
このAPIは、通常のリクエストに対してはchat completionオブジェクトを、ストリーミングが有効な場合にはチャンク形式のchat completionオブジェクトのシーケンスを返します。Chat completionレスポンス
指定された入力に基づき、モデルが返すchat completion応答を示します。Chat completing response
ストリーミングレスポンス (チャンク形式)
指定された入力に基づき、モデルが返すチャンク形式のストリーミング応答を示します。Streaming chat response (chunked)
レスポンス形式
以下の表では、主要なプロパティに関する情報をまとめています。リクエストが失敗した場合、レスポンスボディにはエラーの詳細を含む JSON オブジェクトが返されます。エラーに関する詳細は、APIエラーコード のドキュメントをご参照ください。
プロパティ | 型 | 説明 |
---|---|---|
id | String | chat completion を一意に識別する ID。 |
choices | Array | 一つの chat completion を含む配列。 |
created | Integer | chat completion が作成された時刻を示す Unix タイムスタンプ (秒単位)。すべてのチャンクで同じタイムスタンプが使用されます。 |
model | String | 応答の生成に使用されたモデル。 |
object | String | オブジェクトの種類。常に chat.completion となります。 |
usage | Object | stream_options: {"include_usage": true} が設定されている場合にのみ含まれるオプション項目。最終チャンクを除き値は null であり、最終チャンクにトークン使用統計が含まれます。 |
throughput_after_first_token | Float | 最初のトークンが出力された後のスループット (トークン/秒)。 |
time_to_first_token | Float | 最初のトークンが生成されるまでの時間 (秒)。 |
model_execution_time | Float | 応答全体またはすべてのトークンを生成するのにかかった時間 (秒)。 |
output_tokens_count | Integer | 応答として生成されたトークン数。 |
input_tokens_count | Integer | 入力プロンプト内のトークン数。 |
total_tokens_count | Integer | 入力トークン数と出力トークン数の合計。 |
queue_time | Float | リクエストがキュー内でモデルによる処理を待機していた時間 (秒)。 |