チャット補完
POST /v1/chat/completions エンドポイントは、対応する言語モデルからテキスト、コード、または構造化JSONレスポンスを生成するための主要なメソッドです。OpenAI Chat Completions APIスキーマと100%互換です。
注記
DeepTokenはインテリジェントプロキシとして動作します。このエンドポイントを呼び出すと、DeepTokenがルーティング、優先度付け、プロバイダのフェイルオーバー、トークンカウント、残高からのクレジット直接差し引きを処理します。
エンドポイント詳細
- URL:
https://api.deeptoken.app/v1/chat/completions - メソッド:
POST - ヘッダー:
Authorization: Bearer <DEEPTOKEN_API_KEY>(必須)Content-Type: application/json(必須)X-DeepToken-Org: <ORG_SLUG>(任意。特定組織のウォレットにコストを帰属させる場合)
コード例
お好みの統合方法を選んでサンプルリクエストを確認してください:
curl https://api.deeptoken.app/v1/chat/completions \
-H "Authorization: Bearer $DEEPTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"temperature": 0.7
}'
リクエストパラメータ
リクエストボディは、以下のパラメータを含むJSONオブジェクトである必要があります:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 使用するモデルのID。対応するすべてのモデルIDはカタログを参照してください。 |
messages | array | はい | 会話履歴を表すメッセージオブジェクトのリスト。以下のメッセージオブジェクトを参照してください。 |
temperature | number | いいえ(デフォルト: 1) | 0から2の間のサンプリング温度。高い値ほど出力がランダムになり、低い値ほど集中します。 |
top_p | number | いいえ(デフォルト: 1) | 核サンプリング因子。0.1は上位10%の確率質量を構成するトークンのみが考慮されることを意味します。 |
stream | boolean | いいえ(デフォルト: false) | trueの場合、トークンが利用可能になり次第、Server-Sent Events(SSE)として送信されます。 |
max_tokens | integer | いいえ | 補完で生成するトークンの最大数。 |
stop | string または array | いいえ | APIがトークンの生成を停止する最大4つのシーケンス。 |
response_format | object | いいえ | { "type": "json_object" } またはスキーマ定義を指定して、JSON出力を強制します。 |
tools | array | いいえ | モデルが呼び出す可能性のあるツール(関数)のリスト。 |
tool_choice | string または object | いいえ | モデルが呼び出すツールを制御します(none、auto、required、またはオブジェクト)。 |
メッセージオブジェクト
messages 配列内の各オブジェクトは以下の構造を持ちます:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
role | string | はい | メッセージの作成者の役割: system、user、assistant、または tool。 |
content | string または array | はい | メッセージの内容(テキスト、またはマルチモーダル入力用のコンテンツパーツの配列)。 |
name | string | いいえ | 参加者の任意の名前。複数のユーザーを区別するのに便利です。 |
tool_call_id | string | いいえ(toolロール用) | このメッセージが応答するツール呼び出しのID。 |
レスポンススキーマ
ストリーミングでない正常なレスポンスは、以下のフィールドを持つJSONオブジェクトを返します:
{
"id": "chatcmpl-9A8b9C...",
"object": "chat.completion",
"created": 1718029562,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "空が青いのはレイリー散乱のためです..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 13,
"completion_tokens": 85,
"total_tokens": 98
}
}
レスポンスフィールド
id: チャット補完の一意の識別子。object: オブジェクトタイプ。常にchat.completion。created: チャット補完が作成されたUnixタイムスタンプ(秒単位)。model: 補完の生成に使用されたモデル。choices: 補完の選択肢のリスト。各選択肢には以下が含まれます:message: 生成されたメッセージオブジェクト。finish_reason: モデルが生成を停止した理由(stop、length、tool_callsなど)。
usage: リクエストのトークン使用統計。-
重要
- DeepTokenは
usageで返されるトークン数に基づいて課金を計算します。クライアント側で使用量を追跡している場合は、このブロックを適切に処理してください。
-