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

# コレクションを作成する

> Registry 内にリンクされたアーティファクトのバージョンをまとめるコレクションを作成し、受け入れるアーティファクト タイプを設定します。

*コレクション* とは、Registry 内にリンクされたアーティファクトのバージョンの集まりです。各コレクションは、それぞれ一意のタスクまたはユースケースを表します。

たとえば、1 つの Registry 内に複数のコレクションを作成し、各コレクションに MNIST、CIFAR-10、ImageNet など、それぞれ異なるデータセットを格納できます。

別の例として、「chatbot」という Registry を作成し、その中にモデル アーティファクト用、データセット アーティファクト用、ファインチューニングしたモデルのアーティファクト用のコレクションをそれぞれ用意することもできます。

Registry とそのコレクションをどのように整理するかは自由です。

<Note>
  W\&B モデルレジストリをご存知の方は、Registered Models についてもご存知かもしれません。モデルレジストリの Registered Models は、Registry ではコレクションと呼ばれるようになりました。
</Note>

<h2 id="collection-types">
  コレクション タイプ
</h2>

各コレクションが受け入れるアーティファクトの*タイプ*は 1 つだけです。指定したタイプによって、自分や組織の他のメンバーがそのコレクションにリンクできるアーティファクトの種類が制限されます。

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

コレクションを作成する際は、事前定義されたアーティファクト タイプの一覧から選択できます。選択できるアーティファクト タイプは、そのコレクションが属する Registry によって異なります。

アーティファクトをコレクションにリンクする前や、新しいコレクションを作成する前に、[そのコレクションが受け入れるアーティファクト タイプを確認してください](#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 アプリでインタラクティブに確認することもできます。

<Note>
  アーティファクトを、そのアーティファクト タイプを受け入れないコレクションにリンクしようとすると、エラーメッセージが表示されます。
</Note>

<Tabs>
  <Tab title="W&B App">
    受け入れ可能なアーティファクト タイプは、ホームページのRegistryカード、またはRegistryの設定ページで確認できます。

    どちらの方法でも、まず Registry にアクセスします。

    Registry のホームページで対象RegistryのRegistryカードまでスクロールすると、受け入れ可能なアーティファクト タイプを確認できます。Registryカード内にある灰色の横長の楕円に、そのRegistryが受け入れるアーティファクト タイプが表示されます。

    <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="コレクションのタイプ" width="3456" height="1996" data-path="products/registry/_media/artifact_types_model_card.png" />
    </Frame>

    Registryの設定ページで受け入れ可能なアーティファクト タイプを確認するには、次の手順に従います。

    1. 設定を確認したいRegistryのRegistryカードをクリックします。
    2. 右上の歯車アイコンをクリックします。
    3. **Accepted artifact types** フィールドまでスクロールします。
  </Tab>

  <Tab title="W&B Python SDK (Beta)">
    W\&B Python SDK を使用して、Registryが受け入れるアーティファクト タイプをプログラムで確認します。

    ```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>

Registry 内にコレクションを、インタラクティブに、またはプログラムで作成します。コレクションが受け入れるアーティファクトのタイプは、作成後に変更できません。

<h3 id="programmatically-create-a-collection">
  プログラムでコレクションを作成する
</h3>

アーティファクトをコレクションにリンクするには、`wandb.Run.link_artifact()` メソッドを使用します。`target_path` フィールドには、コレクションと Registry の両方を、次の形式のパスで指定します。

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

ここで、`registry_name` は Registry の名前、`collection_name` はコレクションの名前です。Registry 名には必ず接頭辞 `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>

以下の手順では、Registry を使用してインタラクティブにコレクションを作成する方法を説明します。

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) で Registry にアクセスします。
2. Registryを選択します。
3. 右上にある **Create collection** ボタンをクリックします。
4. **Name** フィールドにコレクション名を入力します。
5. **Type** ドロップダウンからタイプを選択します。Registryでカスタムのアーティファクト タイプが有効になっている場合は、このコレクションで受け入れるアーティファクト タイプを 1 つ以上入力することもできます。
6. 必要に応じて、**Description** フィールドにコレクションの説明を入力します。
7. 必要に応じて、**Tags** フィールドに 1 つ以上のタグを追加します。
8. **Link version** をクリックします。
9. **Project** ドロップダウンから、アーティファクトが保存されている project を選択します。
10. **Artifact** コレクションのドロップダウンから、アーティファクトを選択します。
11. **Version** ドロップダウンから、コレクションにリンクするアーティファクトのバージョンを選択します。
12. **Create collection** ボタンをクリックします。


## Related topics

- [アーティファクトのバージョンをコレクションにリンクする](/ja/products/registry/link_version.md)
