> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# チャット補完

> 非ストリーミング、ストリーミング、ツール、マルチモーダル、構造化出力の各リクエストを送信します。

プロキシは JSON 形式の チャット補完 リクエストボディを受け入れます。`model` と `messages` は必須です。その他のフィールドは、選択したプロバイダーがサポートしている場合に転送されます。

```bash theme={"system"}
curl https://proxy.training.wandb.ai/v1/chat/completions \
  -H "Authorization: Bearer $WANDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ticket-classifier",
    "messages": [{"role": "user", "content": "Classify this request"}],
    "temperature": 0,
    "metadata": {"wandb.entity": "your-team"}
  }'
```

<h2 id="streaming">
  ストリーミング
</h2>

通常どおり `stream: true` を設定します。プロバイダーからのサーバー送信イベント (SSE) は、`[DONE]` も含めて受信次第そのまま転送されます。トレース対象のストリームでは、トークン数を取得するために、プロキシが内部でストリームの使用量をリクエストする場合があります。ただし、クライアント側に表示されるメッセージの内容が変わることはありません。

ストリーミングリクエストでは[応答キャッシュ](/ja/model-distillation/proxy/response-caching)を使用できません。

<h2 id="tools-and-structured-output">
  ツールと構造化出力
</h2>

ツール定義、ツール選択、応答形式の JSON スキーマ、チャットテンプレートの制御、対数確率、マルチモーダルコンテンツ、プロバイダー拡張、推論フィールドは、生のトレースコントラクトにそのまま保持されます。不明なリクエストフィールドは、ルーティングによって置き換えられたり削除されたりしない限り、そのまま転送されます。

<h2 id="precedence">
  優先順位
</h2>

project ルートの場合、プロバイダーに実際に送信されるリクエストは次の順序で構築されます。リクエストで [応答キャッシュ](/ja/model-distillation/proxy/response-caching) が有効になっている場合、プロキシはステップ 2 の後にキャッシュを確認し、キャッシュヒット時には残りのステップをスキップします。

1. クライアントから送信されたリクエスト本文を起点とします。
2. プロキシモデル名を、選択されたプロバイダーのモデルに置き換えます。
3. ターゲットの `params_override` の値をマージします。値が競合する場合は、こちらが優先されます。
4. プロバイダーに送信する前に、`wandb.*` のルーティングメタデータを削除します。
5. 必要に応じて、トレースに対応したストリームオプションを追加します。

プロキシは、自身で構築したヘッダーを除き、クライアントのヘッダーを転送しません。そのため、Cookie、プロバイダーの APIキー、組織ヘッダー、無関係な認証ヘッダーが、選択されたプロバイダーに漏洩することはありません。

<h2 id="vapi-requests">
  Vapi リクエスト
</h2>

プロキシは Vapi のリクエストラッパーを認識し、転送前に Vapi 固有のフィールドを削除します。また、会話を識別するフォールバックとして `call.id` を使用します。ただし、`wandb.thread_id` が明示的に指定されている場合は、そちらが優先されます。
