コンテンツにスキップ

チャット補完を作成

POST /v1/chat/completions

クイックスタートガイド を参照して、あなた自身の API キーを取得してください。

$YOUR_API_KEY をあなたが前のステップで生成した実際の API キーに置き換えてください。
$MODEL_ID も使用するモデルの ID に置き換えてください。


使用するモデルによってサポートされるパラメータは異なる場合があります。
特に新しい推論モデルでは違いがある可能性があります。

リクエスト本文


messages 配列 必須
これまでの会話を構成するメッセージのリスト。

可能なタイプを表示

System message オブジェクト
開発者によって提供された指示。ユーザーが送信するメッセージに関わらず、モデルはこれに従う必要があります。

プロパティを表示

content 文字列または配列 必須
システムメッセージの内容。


role 文字列 必須
メッセージの作成者の役割。この場合は system


name 文字列 オプション
参加者の任意の名前。


User message オブジェクト
エンドユーザーから送信されるメッセージ。

プロパティを表示

content 文字列または配列 必須
ユーザーメッセージの内容。


role 文字列 必須
メッセージの作成者の役割。この場合は user


name 文字列 オプション
参加者の任意の名前。


Assistant message オブジェクト
ユーザーメッセージに応答してモデルが生成するメッセージ。

プロパティを表示

role 文字列または配列 必須
メッセージの作成者の役割。この場合は assistant


content オブジェクトまたは null オプション
アシスタントメッセージの内容。tool_calls を指定しない場合は必須。


name 文字列 オプション
参加者の任意の名前。


refusal オブジェクトまたは null オプション
アシスタントが生成する拒否メッセージ。


tool_calls オブジェクトまたは null オプション
アシスタントによるツール呼び出し。


Tool message オブジェクト

プロパティを表示

content 文字列または配列 必須
ツールメッセージの内容。


role 文字列 必須
メッセージの作成者の役割。この場合は tool


tool_call_id 文字列 オプション
このメッセージが応答しているツール呼び出しの ID。


model 文字列 必須

レスポンス生成に使用するモデル ID。OPE.AI では、さまざまな機能、パフォーマンス特性、価格帯のモデルが提供されています。利用可能なモデルを閲覧・比較するには、モデルガイドを参照してください。


frequency_penalty 数値または null オプション デフォルトは 0

-2.0 から 2.0 の間の数値。正の値を指定すると、これまでのテキスト内での頻度に基づいて新しいトークンにペナルティを与え、モデルが同じ行を繰り返す可能性を減らします。


max_tokens 整数または null オプション

チャット補完で生成される最大トークン数。API を通じて生成されるテキストのコストを制御するために使用できます。


parallel_tool_calls ブール値 オプション デフォルトは true

ツール使用時に並列関数呼び出しを有効にします。


presence_penalty 数字または null オプション デフォルトは 0

数値は -2.0 から 2.0 の間です。正の値を設定すると、これまでに出現した単語に基づき新しいトークンにペナルティを与え、モデルが新しい話題について話す可能性を高めます。


seed 整数または null オプション

この機能はベータ版です。指定すると、同じ seed とパラメータでリクエストを繰り返す場合に、可能な限り同じ結果を返すようにサンプリングされます。ただし、完全な決定性は保証されません。バックエンドの変更を監視するには、レスポンスの system_fingerprint パラメータを確認してください。


stop 文字列 / 配列 / null オプション デフォルトは null

最大 4 つのシーケンスを指定でき、API はそれらに達するとトークンの生成を停止します。返されたテキストには停止シーケンスは含まれません。


stream ブール値または null オプション デフォルトは false

ストリーミング出力を使用するかどうかを指定します。有効な値:

false:モデルは完全なレスポンスを一括で返します。
true:モデルは生成されたコンテンツをチャンクで順次返します。リアルタイムで各チャンクを受信して最終レスポンスを構成する必要があります。


stream_options オブジェクトまたは null オプション デフォルトは null

ストリーミングレスポンス用のオプション。stream: true の場合にのみ設定します。

可能なタイプを表示

include_usage ブール値 オプション
設定すると、data: [DONE] メッセージの前に追加のチャンクがストリームされます。このチャンクの usage フィールドには、リクエスト全体のトークン使用統計が含まれ、choices フィールドは常に空配列になります。 他のすべてのチャンクにも usage フィールドが含まれますが、値は null になります。注意: ストリームが中断された場合、リクエスト全体のトークン使用量を含む最終チャンクを受信できないことがあります。


temperature 数値または null オプション デフォルトは 1

使用するサンプリング温度を指定します(0~2の間)。0.8 のような高い値は出力をよりランダムにし、0.2 のような低い値は出力をより集中させ、決定的にします。通常はこのパラメータか top_p のどちらかを調整することを推奨します。


tool_choice 文字列またはオブジェクト オプション

モデルがどのツールを呼び出すか(または呼び出さないか)を制御します。 none:モデルはツールを呼び出さずメッセージを生成します。 auto:モデルはメッセージ生成とツール呼び出しのどちらかを選択できます。 required:モデルは 1 つ以上のツールを必ず呼び出します。 特定のツールを指定する場合は {"type": "function", "function": {"name": "my_function"}} の形式を使用します。

ツールが存在しない場合のデフォルトは none、存在する場合のデフォルトは auto です。

可能なタイプを表示

文字列
none はツールを呼び出さずメッセージを生成します。auto はメッセージ生成またはツール呼び出しを選択します。required はツール呼び出しが必須です。


オブジェクト
モデルが使用すべき特定のツールを指定します。特定の関数呼び出しを強制できます。

可能な型を表示

function オブジェクト 必須

プロパティを表示

name 文字列 必須
呼び出す関数の名前。


type 文字列 必須
ツールのタイプ。現在サポートされているのは function のみです。


tools 配列 オプション

モデルが呼び出す可能性のあるツールのリスト。現在、ツールとしてサポートされているのは関数のみです。 モデルが JSON 入力を生成できる関数をリストで提供します。 最大 128 個の関数がサポートされます。

可能な型を表示

function オブジェクト 必須

プロパティを表示

name 文字列 必須
呼び出す関数の名前。英数字、アンダースコア、ハイフンのみ使用でき、最大長は 64 文字です。


strict ブール値または null オプション デフォルトは false
関数呼び出し時に厳密なスキーマ準拠を有効にするかどうか。strict が true の場合、モデルは parameters フィールドに定義されたスキーマに厳密に従います。


description 文字列 オプション
関数が何をするかの説明。モデルがいつ、どのように関数を呼び出すかを判断する際に使用されます。


parameters オブジェクト オプション
関数が受け取る parameters を JSON スキーマ形式で記述します。


type 文字列 必須
ツールのタイプ。現在サポートされているのは function のみです。


top_p 数値または null オプション デフォルトは 1

サンプリング温度の代替手法である「核サンプリング(nucleus sampling)」を使用します。 top_p の確率質量を持つトークンのみを考慮します。 たとえば、0.1 を指定すると、上位 10% の確率質量に含まれるトークンだけが考慮されます。

通常、temperature または top_p のどちらか一方のみを調整することを推奨します。


top_k 数値または null オプション デフォルトは 50

top_k は、モデルが出力用にトークンを選択する方法を変更します。top_k が1の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。top_k が 3 の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。

トークン選択のそれぞれのステップで、最も高い確率を持つ top_k のトークンがサンプリングされます。その後、トークンはtop_p に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。

ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。




戻り値


チャット補完オブジェクトを返します。ストリームモードの場合は、チャット補完チャンクオブジェクトのストリームを返します。