> ## 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 の[コレクション](/ja/products/registry/create_collection)に
*リンク*します。リンクすると、バージョンは[非公開の project レベルのスコープから、共有の組織レベルのスコープ](/ja/products/registry/create_registry#visibility-types)に移ります。
アーティファクトのバージョンは、[W\&B Python SDK を使用してプログラムで、または W\&B アプリでインタラクティブにリンクできます](/ja/products/registry/link_version#link-an-artifact-to-a-collection)。

アーティファクトをリンクすると、W\&B はソースアーティファクトとコレクションのエントリ間に参照を作成します。リンクされたバージョンは、project 内の run にログされたソースアーティファクトのバージョンを指します。コレクション内のリンクされたバージョンと、ログ先の project 内のソースバージョンの両方を確認できます。

<h2 id="link-an-artifact-to-a-collection">
  アーティファクトをコレクションにリンクする
</h2>

run 中にアーティファクトを作成するか、run なしで作成するか、既存のアーティファクトのバージョンをリンクするかに応じて、ワークフローを選択します。

<Note>
  開始する前に、次の点を確認してください。

  * コレクションで許可されているアーティファクトのタイプ。コレクションのタイプについて詳しくは、[コレクションを作成する](/ja/products/registry/create_collection)の「コレクションのタイプ」を参照してください。
  * コレクションが属するRegistryがすでに存在すること。Registryが存在することを確認するには、[Registry App にアクセスして](/ja/products/registry/search_registry)、Registry名を検索します。
</Note>

<Tabs>
  <Tab title="W&B Python SDK">
    [`wandb.Run.link_artifact()`](/ja/products/wandb/ref/python/experiments/run#method-run-link_artifact) または
    [`wandb.Artifact.link()`](/ja/products/wandb/ref/python/experiments/artifact#method-artifact-link) を使用して、プログラムでアーティファクトのバージョンをコレクションにリンクします。

    次の表は、アーティファクトのバージョンをコレクションにリンクするために使用できるメソッドと、各メソッドを使用したときに W\&B が記録する内容をまとめたものです。

    | ユースケース | メソッド | W\&B が記録する内容 |
    | - | - | - |
    | run 中にアーティファクトを作成し、コレクションにリンクする | `wandb.Run.link_artifact()` | 実行中の run の出力としてアーティファクトをログし、その後リンクします |
    | run を明示的に開始せずにアーティファクトを作成してリンクする | 下書きのアーティファクトで `wandb.Artifact.link()` を使用する | まずアーティファクトを保存し、実行中の run がなければ自動的に run を作成します |
    | 既存のコミット済みアーティファクトをリンクする | `wandb.Api().artifact()` から取得したアーティファクトで `wandb.Artifact.link()` を使用する | 新しい run を作成せずにアーティファクトをリンクします |

    リンク先のコレクションのパスを `target_path` パラメーターに渡します。パスは、`wandb-registry-` 接頭辞、レジストリ名、コレクション名で構成されます。

    ```text theme={"system"}
    wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}
    ```

    <h5 id="link-an-artifact-from-a-run">
      run からアーティファクトをリンクする
    </h5>

    `wandb.Run.link_artifact()` を使用して、実行中の run でアーティファクトのバージョンを作成してリンクします。W\&B は、ドラフトのアーティファクトをリンクする前に、run の出力としてログします。

    アーティファクトのバージョンを作成してリンクするには、次の手順に従います。

    1. `wandb.init()` で run を初期化します。
    2. `Artifact` オブジェクトを作成し、1 つ以上のファイルを追加します。
    3. `wandb.Run.link_artifact()` を呼び出し、リンク先のコレクションを指定します。

    山括弧 (`<>`) で囲まれた値を、ご自身の値に置き換えてください。

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

    entity = "<team_entity>"          # ご自身のチーム entity
    project = "<project_name>"        # アーティファクトを含む project の名

    # run を初期化します
    with wandb.init(entity = entity, project = project) as run:

      # アーティファクト オブジェクトを作成します
      # type パラメーターはアーティファクト オブジェクトのタイプと
      # コレクションのタイプの両方を指定します
      artifact = wandb.Artifact(name = "<name>", type = "<type>")

      # アーティファクト オブジェクトにファイルを追加します。 
      # ローカルマシン上のファイルへのパスを指定します。
      artifact.add_file(local_path = "<local_path_to_artifact>")

      # アーティファクトのリンク先のコレクションとレジストリを指定します
      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)
    ```

    <h5 id="create-and-link-an-artifact">
      アーティファクトを作成してリンクする
    </h5>

    `wandb.Artifact.link()` を使用すると、run を明示的に初期化せずに、下書きのアーティファクトを作成してリンクできます。W\&B は、必要に応じて自動的に run を作成し、リンクする前にアーティファクトを保存します。

    アーティファクトのバージョンを作成してリンクするには：

    1. `Artifact` オブジェクトを作成し、1 つ以上のファイルを追加します。
    2. `wandb.Artifact.link()` を呼び出し、リンク先のコレクションを指定します。

    山括弧 (`<>`) 内の値を独自の値に置き換えてください：

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

    # アーティファクト オブジェクトを作成します
    # type パラメーターは、アーティファクト オブジェクトのタイプとコレクションのタイプの両方を指定します
    artifact = wandb.Artifact(name = "<name>", type = "<type>")

    # アーティファクト オブジェクトにファイルを追加します。 
    # ローカルマシン上のファイルへのパスを指定します。
    artifact.add_file(local_path = "<local_path_to_artifact>")

    # アーティファクトのリンク先のコレクションとレジストリを指定します
    REGISTRY_NAME = "<registry_name>"  
    COLLECTION_NAME = "<collection_name>"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # アーティファクトをコレクションにリンクします
    artifact.link(target_path = target_path)
    ```

    <h5 id="link-an-existing-artifact">
      既存のアーティファクトをリンクする
    </h5>

    `wandb.Api().artifact()` で取得したアーティファクトに対して `wandb.Artifact.link()` を使用すると、新しい run を作成せずに、コミット済みの既存のアーティファクトのバージョンをリンクできます。

    1. `wandb.Api()` で Public API クライアントを作成します。
    2. `wandb.Api.artifact()` でアーティファクトのバージョンを取得します。
    3. `wandb.Artifact.link()` を呼び出し、リンク先のコレクションを指定します。

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

    api = wandb.Api()

    artifact = api.artifact(
        "<entity>/<project>/<artifact-name>:<alias-or-version>"
    )

    artifact.link(
        target_path="wandb-registry-<registry-name>/<collection-name>",
        aliases=["latest"],
    )
    ```
  </Tab>

  <Tab title="Registry">
    1. Registry の [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) にアクセスします。
    2. リンクするアーティファクトのバージョンを含むコレクションの名前の横にマウスをホバーします。
    3. **View details** の横の **action (<Icon icon="ellipsis" iconType="solid" />)** メニューを選択します。
    4. ドロップダウンから **Link new version** を選択します。
    5. 表示されるサイドバーから、**Team** ドロップダウンでチームの名を選択します。
    6. **Project** ドロップダウンから、アーティファクトを含む project の名を選択します。
    7. **Artifact** ドロップダウンから、アーティファクトの名を選択します。
    8. **Version** ドロップダウンから、コレクションにリンクするアーティファクトのバージョンを選択します。
  </Tab>

  <Tab title="アーティファクト ブラウザー">
    1. W\&B App で project のアーティファクトブラウザーにアクセスします: `https://wandb.ai/<entity>/<project>/artifacts`
    2. プロジェクトのサイドバーで Artifacts アイコンを選択します。
    3. レジストリにリンクするアーティファクトのバージョンをクリックします。
    4. **Version overview** セクションで、**Link to registry** ボタンをクリックします。
    5. 画面右側に表示されるモーダルで、**Select a registered model** ドロップダウンメニューからアーティファクトを選択します。
    6. **Next step** をクリックします。
    7. (オプション) **Aliases** ドロップダウンからエイリアスを選択します。
    8. **Link to registry** をクリックします。
  </Tab>
</Tabs>

Registry App では、[リンクされたアーティファクトのメタデータ、バージョンデータ、使用状況、リネージ情報](/ja/products/registry/link_version#view-linked-artifacts-in-a-registry)などを確認できます。

<h2 id="unlink-an-artifact-version-from-a-collection">
  コレクションからアーティファクトのバージョンのリンクを解除する
</h2>

W\&B Python SDK または Registry を使用して、コレクションからアーティファクトのバージョンのリンクを解除します。

リンクを解除すると、コレクションからアーティファクトのバージョンが削除されますが、ソースアーティファクトのバージョンやそのファイルは削除されません。

<Warning>
  アーティファクトのバージョンを Registry のコレクションにリンクすると、有効期間 (TTL) ポリシーが無効化され、TTL が `None` に設定されます。後でそのバージョンのリンクを解除しても、W\&B は以前の TTL を復元せず、元の期間も保持しません。そのバージョンに引き続き TTL が必要な場合は、リンク解除後に TTL を再設定してください。

  TTL ポリシーの詳細については、[アーティファクトのデータ保持を管理する](/ja/products/wandb/artifacts/ttl)を参照してください。
</Warning>

<Tabs>
  <Tab title="W&B Python SDK">
    W\&B Python SDK でアーティファクトのバージョンのリンクを解除するには、次の手順を実行します。

    1. `wandb.Api()` で Public API クライアントを作成します。
    2. `wandb.Api.artifact()` でリンクされたアーティファクトのバージョンを取得します。
    3. [`wandb.Artifact.unlink()`](/ja/products/wandb/ref/python/experiments/artifact#method-artifact-unlink) を呼び出して、コレクションからアーティファクトのバージョンのリンクを解除します。

    ```text theme={"system"}
    wandb-registry-<registry_name>/<collection_name>:<version_or_alias>
    ```

    プレースホルダーの値を実際の値に置き換えます。

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

    registry_name = "your-registry-name"  # Registry 名に置き換えます
    collection_name = "your-collection-name"  # コレクション名に置き換えます
    version = "version-or-alias"  # リンクを解除するアーティファクトのバージョンに置き換えます

    target_path=f"wandb-registry-{registry_name}/{collection_name}:{version}"

    api = wandb.Api()
    linked_artifact = api.artifact(name=target_path)

    # コレクションからアーティファクトのバージョンのリンクを解除します
    linked_artifact.unlink()
    ```
  </Tab>

  <Tab title="Registry">
    1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) の Registry にアクセスします。
    2. コレクションを含む Registry の名を選択します。
    3. コレクションを選択します。
    4. リンクを解除するアーティファクトのバージョンを選択します。
    5. **Version** タブで **Unlink version** を選択します。
  </Tab>
</Tabs>

<h2 id="view-linked-artifacts-in-a-registry">
  Registry内のリンクされたアーティファクトを表示する
</h2>

Registry で、リンクされたアーティファクトのメタデータ、リネージ、使用量情報などを表示します。

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) の Registry にアクセスします。
2. アーティファクトをリンクしたRegistryの名を選択します。
3. コレクションの名を選択します。
4. コレクションのアーティファクトがメトリクスをログする場合は、**Show metrics** をクリックしてバージョン間のメトリクスを比較します。
5. アーティファクトのバージョンの一覧から、アクセスするバージョンを選択します。バージョン番号は、リンクされた各アーティファクトのバージョンに `v0` から段階的に割り当てられます。
6. アーティファクトのバージョンの詳細を表示するには、そのバージョンをクリックします。このページのタブから、そのバージョンのメタデータ (ログされたメトリクスを含む) 、リネージ、使用量情報を表示できます。

**Version** タブ内の **Full Name** フィールドを確認してください。リンクされたアーティファクトの完全名は、Registry、コレクション名、アーティファクトのバージョンのエイリアスまたはインデックスで構成されます。

```text title="Full name of a linked artifact" theme={"system"}
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{INTEGER}
```

アーティファクトのバージョンにプログラムからアクセスするには、リンクされたアーティファクトの完全名が必要です。

<h2 id="troubleshooting">
  トラブルシューティング
</h2>

アーティファクトをリンクできない場合に確認すべき一般的な事項を以下に示します。

<h3 id="logging-artifacts-from-a-personal-account">
  個人アカウントからのアーティファクトのログ
</h3>

personal entity で W\&B にログされたアーティファクトは、Registry にリンクできません。組織内のチーム entity を使用してアーティファクトをログするようにしてください。組織のチーム内でログされたアーティファクトのみが、組織の Registry にリンクできます。

<Note>
  Registry にアーティファクトをリンクしたい場合は、チーム entity でアーティファクトをログするようにしてください。
</Note>

<h4 id="find-your-team-entity">
  チーム entity を検索する
</h4>

W\&B はチーム名をチームの entity として使用します。たとえば、チーム名が **team-awesome** の場合、チーム entity は `team-awesome` です。

チーム名は次の手順で確認できます。

1. チームの W\&B プロフィールページにアクセスします。
2. サイトの URL をコピーします。URL は `https://wandb.ai/<team>` の形式です。ここで、`<team>` はチーム名であり、チームの entity でもあります。

<h4 id="log-from-a-team-entity">
  チーム entity からログする
</h4>

1. [`wandb.init()`](/ja/products/wandb/ref/python/functions/init) で run を初期化するときに、チームを entity として指定します。run の初期化時に `entity` を指定しない場合、run はデフォルトの entity を使用します。これはチーム entity であるとは限りません。

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

   with wandb.init(entity='<team_entity>', project='<project_name>') as run:
       # ここでアーティファクトをログします
   ```

2. `wandb.Run.log_artifact()` を使用するか、次のコードでアーティファクト オブジェクトを作成してからファイルを追加し、アーティファクトを run にログします。

   ```python theme={"system"}
   artifact = wandb.Artifact(name="<artifact_name>", type="<type>")
   ```

   アーティファクトをログする方法については、[アーティファクトの構築](/ja/products/wandb/artifacts/construct-an-artifact)を参照してください。

3. アーティファクトが個人の entity にログされている場合は、組織内の entity に再度ログする必要があります。

<h3 id="confirm-the-path-of-a-registry-in-the-wb-app-ui">
  W\&B アプリの UI で registry のパスを確認する
</h3>

空のコレクションを作成して、W\&B アプリの UI で registry のパスを確認します。以下のステップに従ってください。

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) の Registry にアクセスします。
2. アーティファクトをリンクする registry をクリックします。
3. 空のコレクションをクリックします。空のコレクションがない場合は、新しいコレクションを作成します。
4. 表示されるコードスニペットで、`.link_artifact()` 内の `target_path=` フィールドを確認します。
5. (オプション) コレクションを削除します。

たとえば、上記のステップを完了すると、`target_path` パラメーターを含むコードブロックを検索できます。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/registry/_media/check_empty_collection.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=d056d6e2177061f85d8b9ebe9532d7ef" alt="空のコレクションを作成する" width="3456" height="1844" data-path="products/registry/_media/check_empty_collection.png" />
</Frame>

```python theme={"system"}
target_path = 
      "wandb-registry-Zoo-Classifier-Registry/Temp Collection"
```

これを構成要素に分解すると、アーティファクトをプログラムでリンクするためのパスを作成する際に、何を使用する必要があるかがわかります。

```python theme={"system"}
ORG_ENTITY_NAME = "wandb"
REGISTRY_NAME = "Zoo-Classifier-Registry"
COLLECTION_NAME = "Temp Collection"
```

<Note>
  一時的なコレクションのコレクション名を、アーティファクトのリンク先となるコレクションのコレクション名に必ず置き換えてください。
</Note>
