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

# 프로젝트와 트래픽

> 고정된 프록시 모델 이름으로 프로젝트를 생성하고 프로덕션 Chat Completion 애플리케이션을 연결하세요.

프로젝트는 최적화를 수행하는 단위입니다. 프로젝트는 자체 데이터와 실험을 보유하며, 애플리케이션에는 고정된 모델 이름 하나를 제공합니다. 각 Model Distillation 프로젝트는 정확히 하나의 W\&B 프로젝트와 연결되며, 트레이스는 이 W\&B 프로젝트에 저장됩니다.

이 페이지에서는 프로젝트를 생성하고, 프로젝트의 프록시 모델 이름을 사용해 애플리케이션을 프록시에 연결한 다음, 프록시가 트레이닝 데이터로 활용할 수 있는 트레이스를 기록하는지 확인하는 방법을 설명합니다.

<h2 id="create-a-project">
  프로젝트 만들기
</h2>

프로젝트를 만들려면 다음 단계를 따르세요.

1. **Projects**에서 **Create or import a project**를 선택하세요.
2. 다음 필드를 설정하세요.
   * **W\&B project:** 선택한 entity에 새 W\&B 프로젝트를 만들려면 **Create new**를, 기존 W\&B 프로젝트를 연결하려면 **Import existing**을 선택하세요. 임포트해도 기존 프로젝트의 데이터는 변경되지 않습니다. 하나의 W\&B 프로젝트는 entity당 하나의 Model Distillation 프로젝트에만 연결할 수 있습니다.
   * **Proxy model name:** 애플리케이션이 프록시로 보내는 고정 `model` 값입니다. UI에서 W\&B 프로젝트 이름을 바탕으로 이름을 제안합니다. 소문자, 숫자, 하이픈을 사용하여 최대 64자까지 입력할 수 있습니다. 프록시 모델 이름은 W\&B 프로젝트 이름과 달라도 됩니다.
   * **Initial model:** 트레이스를 수집하고 대체 모델을 트레이닝하는 동안 버전 1을 서빙하는 모델입니다.
3. **Create project**를 선택하세요.

모든 새 프로젝트에는 초기 모델이 필요합니다. 그래야 라우팅 배포가 적용되는 즉시 트래픽을 라우팅할 수 있습니다.

<Accordion title="API: 프로젝트 만들기 (PUT /tasks/{alias})">
  Management API에서는 프로젝트를 태스크(task)라고 부릅니다. 프록시 모델 이름은 `alias` 경로 세그먼트에 해당합니다. `project`는 W\&B 프로젝트 이름으로, `project_mode`는 `create` 또는 `import`로 설정하세요. 라우팅 대상을 하나 이상 지정해야 하며, `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 프로젝트 만들기](/ko/model-distillation/reference/management/tasks/create-a-model-distillation-project)를 참조하세요.
</Accordion>

<h2 id="connect-the-application">
  애플리케이션 연결
</h2>

프로젝트를 만든 후 애플리케이션이 프록시를 사용하도록 설정하세요. 프록시는 애플리케이션의 트래픽을 프로젝트로 라우팅하고 트레이스로 기록합니다. 기존 OpenAI 클라이언트는 그대로 사용하고 다음 두 값만 변경하면 됩니다.

```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 Completion 필드를 모두 그대로 전달하고, 프록시 모델 이름을 선택된 대상의 공급자 모델로 바꾼 뒤, 해당 대상에 저장된 매개변수 재정의 값을 적용합니다.

<h2 id="verify-useful-traces">
  유용한 트레이스 확인
</h2>

대규모 데이터셋을 수집하기 전에 다음 사항을 확인하세요.

* 성공한 Call이 프로젝트의 요청 차트에 표시되는지 확인합니다.
* 트래픽 비율이 라우팅 가중치와 일치하는지 확인합니다.
* 고정된 `wandb.thread_id`로 각 대화가 그룹화되는지 확인합니다.
* 도구 정의, 응답 형식, 멀티턴 메시지가 기록된 요청에 포함되어 있는지 확인합니다.
* 실패한 공급자 Call이 디버깅을 위해 표시되면서도 트레이닝 데이터에서는 제외되는지 확인합니다.

이 항목을 모두 충족하면 프로젝트에 트레이닝 예시로 활용할 수 있는 트레이스가 기록됩니다.

<Tip>
  Call할 때마다 전체 메시지 이력을 전송하세요. 각 트레이스는 해당 이력에 대해 생성된 assistant 응답을 담은, 그 자체로 완결된 하나의 트레이닝 예시가 됩니다.
</Tip>
