> ## 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.

# project とトラフィック

> 安定したプロキシモデル名を持つ project を作成し、本番環境の Chat Completions アプリケーションを接続します。

project は最適化の単位です。project は独自のデータと実験を保持しながら、アプリケーションに対しては安定した単一のモデル名を提供します。各 Model Distillation の project には、トレースを保存する W\&B プロジェクトが必ず 1 つだけ紐づいています。

このページでは、project を作成し、その project のプロキシモデル名を使ってアプリケーションをプロキシに接続する方法と、トレーニングデータとして使用できるトレースがプロキシによって記録されていることを確認する方法を説明します。

<h2 id="create-a-project">
  project を作成する
</h2>

project を作成するには、次の手順に従います。

1. **Projects** で **Create or import a project** を選択します。
2. 次のフィールドを設定します。
   * **W\&B project:** 選択した entity に W\&B プロジェクトを新規作成する場合は **Create new** を、既存の W\&B プロジェクトに接続する場合は **Import existing** を選択します。インポートしても既存の project のデータは変更されません。1 つの W\&B プロジェクトに対応付けられる Model Distillation の project は、entity ごとに 1 つだけです。
   * **Proxy model name:** アプリケーションがプロキシに送信する、固定の `model` 値です。UI には、W\&B のプロジェクト名をもとにした名前が候補として表示されます。小文字の英字、数字、ハイフンを使用し、64 文字以内で指定してください。プロキシモデル名は W\&B のプロジェクト名と異なっていてもかまいません。
   * **Initial model:** トレースを収集して代替モデルをトレーニングしている間、バージョン 1 として応答するモデルです。
3. **Create project** を選択します。

新しい project には必ず初期モデルを指定する必要があります。これにより、ルーティング用のデプロイメントが適用された時点ですぐにトラフィックをルーティングできます。

<Accordion title="API: project を作成する (PUT /tasks/{alias})">
  Management API では、project をタスクと呼びます。プロキシモデル名は `alias` パスセグメントで指定します。`project` には W\&B のプロジェクト名を、`project_mode` には `create` または `import` を設定します。ルーティング先を少なくとも 1 つ指定してください。`targets` が未指定または空の場合、作成は失敗します。

  ```bash theme={"system"}
  curl --request PUT \
    --url "https://distillation.training.wandb.ai/v1/tasks/ticket-classifier" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Wandb-Entity: your-team" \
    --header "Content-Type: application/json" \
    --data '{
      "project": "ticket-classifier",
      "project_mode": "create",
      "targets": [
        {"model_ref": "openai/gpt-5.6-sol", "weight": 1}
      ]
    }'
  ```

  スキーマの詳細については、[Model Distillation の project を作成する](/ja/model-distillation/reference/management/tasks/create-a-model-distillation-project) を参照してください。
</Accordion>

<h2 id="connect-the-application">
  アプリケーションを接続する
</h2>

project を作成したら、アプリケーションの接続先をプロキシに設定します。プロキシはアプリケーションのトラフィックを project 経由でルーティングし、トレースとして記録します。通常の OpenAI クライアントはそのまま使用し、次の 2 つの値だけを変更します。

```python theme={"system"}
client = OpenAI(
    base_url="https://proxy.training.wandb.ai/v1",
    api_key=os.environ["WANDB_API_KEY"],
)

response = client.chat.completions.create(
    model="your-proxy-model-name",
    messages=messages,
    extra_body={
        "metadata": {
            "wandb.entity": "your-team",
            "wandb.thread_id": conversation_id,
        }
    },
)
```

プロキシは通常の Chat Completions フィールドをすべて転送し、プロキシモデル名を選択したターゲットのプロバイダーモデルに置き換えたうえで、そのターゲットに保存されているパラメーターのオーバーライドを適用します。

<h2 id="verify-useful-traces">
  有用なトレースを確認する
</h2>

大規模なデータセットを収集する前に、次の点を確認してください。

* 成功した Call が project のリクエストチャートに表示されている。
* トラフィックの配分がルーティングの重みと一致している。
* 安定した `wandb.thread_id` によって各会話がグループ化されている。
* ツール定義、応答形式、マルチターンのメッセージが、記録されたリクエストに含まれている。
* 失敗したプロバイダーへの Call は、デバッグ用に表示されるものの、トレーニングデータからは除外されている。

これらのチェックをすべて満たしていれば、project にはトレーニングサンプルとして使用できるトレースが記録されます。

<Tip>
  Call のたびに、メッセージ履歴全体を送信してください。各トレースは、その履歴に対して生成されたアシスタントの応答を表す、それ単体で完結したトレーニングサンプル 1 件になります。
</Tip>
