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

# 컬렉션 만들기

> 레지스트리 내에서 연결된 아티팩트 버전의 컬렉션을 만들고 허용되는 아티팩트 유형을 설정합니다.

*컬렉션*은 레지스트리 내에 연결된 아티팩트 버전의 집합입니다. 각 컬렉션은 서로 다른 태스크나 사용 사례를 나타냅니다.

예를 들어, 하나의 레지스트리 안에 여러 컬렉션을 둘 수 있으며, 각 컬렉션에는 MNIST, CIFAR-10, ImageNet 등 서로 다른 데이터셋이 담깁니다.

또 다른 예로, "chatbot"이라는 레지스트리 안에 모델 아티팩트용 컬렉션, 데이터셋 아티팩트용 컬렉션, 파인튜닝된 모델 아티팩트용 컬렉션을 각각 둘 수도 있습니다.

레지스트리와 컬렉션을 어떻게 구성할지는 사용자가 자유롭게 정할 수 있습니다.

<Note>
  W\&B Model Registry를 사용해 본 적이 있다면 Registered Models에 익숙할 것입니다. Model Registry의 Registered Models를 이제 레지스트리에서는 컬렉션이라고 부릅니다.
</Note>

<h2 id="collection-types">
  컬렉션 유형
</h2>

각 컬렉션은 아티팩트 *유형*을 단 하나만 허용합니다. 지정한 유형에 따라 사용자와 조직의 다른 구성원이 해당 컬렉션에 연결할 수 있는 아티팩트의 종류가 제한됩니다.

<Note>
  아티팩트 유형은 Python 같은 프로그래밍 언어의 데이터 유형과 비슷하다고 생각하면 됩니다. 이 비유에 따르면 컬렉션은 문자열, 정수, 부동 소수점 수 중 하나를 저장할 수 있지만, 이러한 데이터 유형을 섞어서 저장할 수는 없습니다.
</Note>

예를 들어 "dataset" 아티팩트 유형을 허용하는 컬렉션을 만든다고 가정해 보겠습니다. 이 경우 앞으로 이 컬렉션에는 유형이 "dataset"인 아티팩트 버전만 연결할 수 있습니다. 마찬가지로 모델 아티팩트 유형만 허용하는 컬렉션에는 "model" 유형의 아티팩트만 연결할 수 있습니다.

<Note>
  아티팩트의 유형은 아티팩트 객체를 생성할 때 지정합니다. `wandb.Artifact()`의 `type` 필드를 참고하세요.

  ```python theme={"system"}
  import wandb

  # run 초기화
  with wandb.init(
    entity = "<team_entity>",
    project = "<project>"
    ) as run:

    # 아티팩트 객체 생성
    artifact = wandb.Artifact(
        name="<artifact_name>", 
        type="<artifact_type>"
        )
  ```
</Note>

컬렉션을 만들 때 미리 정의된 아티팩트 유형 목록에서 선택할 수 있습니다. 사용 가능한 아티팩트 유형은 컬렉션이 속한 레지스트리에 따라 다릅니다.

아티팩트를 컬렉션에 연결하거나 새 컬렉션을 만들기 전에 [해당 컬렉션이 허용하는 아티팩트 유형을 확인하세요](#check-the-types-of-artifact-that-a-collection-accepts).

<h3 id="check-the-types-of-artifact-that-a-collection-accepts">
  컬렉션이 허용하는 아티팩트 유형 확인
</h3>

컬렉션에 연결하기 전에 컬렉션이 허용하는 아티팩트 유형을 확인하세요. W\&B Python SDK를 사용하여 프로그래밍 방식으로 또는 W\&B App을 사용하여 대화형으로 컬렉션이 허용하는 아티팩트 유형을 확인할 수 있습니다.

<Note>
  해당 아티팩트 유형을 허용하지 않는 컬렉션에 아티팩트를 연결하려고 하면 오류 메시지가 표시됩니다.
</Note>

<Tabs>
  <Tab title="W&B App">
    홈페이지의 레지스트리 카드나 레지스트리의 설정 페이지에서 허용된 아티팩트 유형을 확인할 수 있습니다.

    두 방법 모두 먼저 레지스트리로 이동하세요.

    레지스트리 홈페이지에서 해당 레지스트리의 레지스트리 카드로 스크롤하여 허용된 아티팩트 유형을 볼 수 있습니다. 레지스트리 카드 내의 회색 가로 타원형이 해당 레지스트리가 허용하는 아티팩트 유형을 나열합니다.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/registry/_media/artifact_types_model_card.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=a5f1be801f051b3436b448e5e4555fc4" alt="Collection types" width="3456" height="1996" data-path="products/registry/_media/artifact_types_model_card.png" />
    </Frame>

    레지스트리의 설정 페이지에서 허용된 아티팩트 유형을 보려면:

    1. 설정을 보려는 레지스트리 카드를 클릭하세요.
    2. 오른쪽 상단의 톱니바퀴 아이콘을 클릭하세요.
    3. **Accepted artifact types** 필드로 스크롤하세요.
  </Tab>

  <Tab title="W&B Python SDK (Beta)">
    W\&B Python SDK를 사용하여 레지스트리가 허용하는 아티팩트 유형을 프로그래밍 방식으로 확인하세요:

    ```python theme={"system"}
    import wandb

    registry_name = "<registry_name>"
    artifact_types = wandb.Api().project(name=f"wandb-registry-{registry_name}").artifact_types()
    print(artifact_type.name for artifact_type in artifact_types)
    ```

    <Note>
      다음 코드 스니펫으로 run을 초기화하지 않습니다. 이는 실험, 아티팩트 등을 추적하지 않고 W\&B API만 쿼리하는 경우 run을 생성할 필요가 없기 때문입니다.
    </Note>
  </Tab>
</Tabs>

컬렉션이 허용하는 아티팩트 유형을 알게 되면 [컬렉션 만들기](#create-a-collection)할 수 있습니다.

<h2 id="create-a-collection">
  컬렉션 만들기
</h2>

대화형으로 또는 프로그래밍 방식으로 레지스트리 내에 컬렉션을 만드세요. 컬렉션을 만든 후에는 컬렉션에서 허용하는 아티팩트 유형을 변경할 수 없습니다.

<h3 id="programmatically-create-a-collection">
  프로그래밍 방식으로 컬렉션 생성하기
</h3>

`wandb.Run.link_artifact()` 방법을 사용하여 아티팩트를 컬렉션에 연결하세요. `target_path` 필드에 컬렉션과 레지스트리를 모두 다음 형식의 경로로 지정하세요:

```python theme={"system"}
f"wandb-registry-{registry_name}/{collection_name}"
```

여기서 `registry_name`은 레지스트리 이름이고 `collection_name`은 컬렉션 이름입니다. 레지스트리 이름 앞에 접두사 `wandb-registry-`를 반드시 추가하세요.

<Note>
  존재하지 않는 컬렉션에 아티팩트를 연결하려고 하면 W\&B가 자동으로 컬렉션을 생성합니다. 이미 존재하는 컬렉션을 지정하면 W\&B는 아티팩트를 기존 컬렉션에 연결합니다.
</Note>

다음 코드 스니펫은 프로그래밍 방식으로 컬렉션을 생성하는 방법을 보여줍니다. `<>`로 둘러싸인 값을 자신의 값으로 반드시 바꾸세요.

```python theme={"system"}
import wandb

# run 초기화
with wandb.init(entity = "<team_entity>", project = "<project>") as run:

  # 아티팩트 객체 생성
  artifact = wandb.Artifact(
    name = "<artifact_name>",
    type = "<artifact_type>"
    )

  registry_name = "<registry_name>"
  collection_name = "<collection_name>"
  target_path = f"wandb-registry-{registry_name}/{collection_name}"

  # 아티팩트를 컬렉션에 연결
  run.link_artifact(artifact = artifact, target_path = target_path)
```

<h3 id="interactively-create-a-collection">
  대화형으로 컬렉션 만들기
</h3>

다음 단계에서는 레지스트리를 사용하여 대화형으로 컬렉션을 만드는 방법을 설명합니다.

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) 에서 레지스트리로 이동하세요.
2. 레지스트리를 선택하세요.
3. 오른쪽 위 모서리에 있는 **컬렉션 만들기** 버튼을 클릭하세요.
4. **이름** 필드에 컬렉션 이름을 입력하세요.
5. **유형** 드롭다운에서 유형을 선택하세요. 또는 레지스트리에서 맞춤형 아티팩트 유형을 허용하는 경우, 이 컬렉션에서 허용할 아티팩트 유형을 하나 이상 입력하세요.
6. 선택 사항으로 **설명** 필드에 컬렉션 설명을 입력하세요.
7. 선택 사항으로 **태그** 필드에 태그를 하나 이상 추가하세요.
8. **버전 연결**을 클릭하세요.
9. **프로젝트** 드롭다운에서 아티팩트가 저장된 프로젝트를 선택하세요.
10. **아티팩트** 컬렉션 드롭다운에서 아티팩트를 선택하세요.
11. **버전** 드롭다운에서 컬렉션에 연결할 아티팩트 버전을 선택하세요.
12. **컬렉션 만들기** 버튼을 클릭하세요.


## Related topics

- [Slack 자동화 만들기](/ko/products/wandb/automations/create-automations/slack.md)
