> ## 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からアーティファクトをダウンロードする

> パスを構築し、Python SDK を使用して、Registry コレクションにリンクされたアーティファクトをダウンロードします。

W\&B Python SDK を使用すると、Registryにリンクされたアーティファクトをダウンロードできます。アーティファクトをダウンロードして使用するには、Registry名、コレクション名、およびダウンロードするアーティファクトのバージョンのエイリアスまたはインデックスを把握しておく必要があります。

これらのアーティファクトのプロパティがわかれば、[リンクされたアーティファクトへのパスを構築](#construct-path-to-linked-artifact)してアーティファクトをダウンロードできます。または、W\&B アプリの UI から[事前生成されたコードスニペットをコピー＆ペースト](#copy-and-paste-pre-generated-code-snippet)して、Registryにリンクされたアーティファクトをダウンロードすることもできます。

<h2 id="construct-path-to-linked-artifact">
  リンクされたアーティファクトへのパスを作成する
</h2>

Registry にリンクされたアーティファクトをダウンロードするには、そのリンクされたアーティファクトのパスを把握しておく必要があります。パスは、Registry 名、コレクション名、およびアクセスするアーティファクトのバージョンのエイリアスまたはインデックスで構成されます。

Registry、コレクション、およびアーティファクトのバージョンのエイリアスまたはインデックスがわかったら、次の文字列テンプレートを使用して、リンクされたアーティファクトへのパスを作成できます。

```python theme={"system"}
# バージョンインデックスを指定する場合のアーティファクト名
f"wandb-registry-{REGISTRY}/{COLLECTION}:v{INDEX}"

# エイリアスを指定する場合のアーティファクト名
f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
```

波かっこ `{}` 内の値を、アクセスする Registry 名、コレクション名、およびアーティファクトのバージョンのエイリアスまたはインデックスに置き換えます。

リンクされたアーティファクトのパスを取得したら、`wandb.Run.use_artifact()` メソッドを使用してアーティファクトにアクセスし、その内容をダウンロードします。次のコードスニペットは、Registry にリンクされたアーティファクトを使用およびダウンロードする方法を示しています。`<>` 内の値はご自身の値に置き換えてください。

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

REGISTRY = '<registry_name>'
COLLECTION = '<collection_name>'
ALIAS = '<artifact_alias>'

with wandb.init(entity = '<team_name>', project = '<project_name>')  as run:
    artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
    # artifact_name = '<artifact_name>' # Registry UI に表示されている Full name をコピー＆ペーストします
    fetched_artifact = run.use_artifact(artifact_or_name = artifact_name)  
    download_path = fetched_artifact.download()  
```

`wandb.Run.use_artifact()` メソッドは、[run](/ja/products/wandb/runs) を作成すると同時に、ダウンロードするアーティファクトをその run の入力としてマークします。
アーティファクトを run の入力としてマークすると、W\&B はそのアーティファクトのリネージをトラッキングできます。

run を作成しない場合は、`wandb.Api()` オブジェクトを使用してアーティファクトにアクセスできます。

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

REGISTRY = "<registry_name>"
COLLECTION = "<collection_name>"
VERSION = "<version>"

api = wandb.Api()
artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
artifact = api.artifact(name = artifact_name)
```

<details>
  <summary>例: Registry にリンクされたアーティファクトを使用してダウンロードする</summary>

  次のコード例では、**Fine-tuned Models** Registry 内の `phi3-finetuned` というコレクションにリンクされたアーティファクトをダウンロードする方法を示します。アーティファクトのバージョンのエイリアスは `production` に設定されています。

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

  TEAM_ENTITY = "product-team-applications"
  PROJECT_NAME = "user-stories"

  REGISTRY = "Fine-tuned Models"
  COLLECTION = "phi3-finetuned"
  ALIAS = 'production'

  # 指定したチームと project 内で run を初期化する
  with wandb.init(entity=TEAM_ENTITY, project = PROJECT_NAME) as run:

      artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"

      # アーティファクトにアクセスし、リネージをトラッキングするために run の入力としてマークする
      fetched_artifact = run.use_artifact(artifact_or_name = artifact_name)  

      # アーティファクトをダウンロードする。ダウンロードしたコンテンツのパスを返す
      downloaded_path = fetched_artifact.download()  
  ```
</details>

パラメーターと戻り値のタイプについては、API リファレンスの [`wandb.Run.use_artifact()`](/ja/products/wandb/ref/python/experiments/run#method-run-use_artifact) および [`Artifact.download()`](/ja/products/wandb/ref/python/experiments/artifact#method-artifact-download) を参照してください。

<Note>
  **複数の組織に所属し、個人 entity を持つユーザー**

  複数の組織に所属し、個人 entity を持つユーザーが Registry にリンクされたアーティファクトにアクセスする場合は、組織名を指定するか、チーム entity を使用する必要があります。

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

  REGISTRY = "<registry_name>"
  COLLECTION = "<collection_name>"
  VERSION = "<version>"

  # API のインスタンス化にはチーム entity を使用する
  api = wandb.Api(overrides={"entity": "<team-entity>"})
  artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
  artifact = api.artifact(name = artifact_name)

  # パスを構築する
  api = wandb.Api()
  artifact_name = f"wandb-registry-{REGISTRY}/{COLLECTION}:{VERSION}"
  artifact = api.artifact(name = artifact_name)
  ```
</Note>

<h2 id="copy-and-paste-pre-generated-code-snippet">
  事前生成されたコードスニペットをコピー＆ペーストする
</h2>

W\&B は、registry にリンクされたアーティファクトをダウンロードするためのコードスニペットを生成します。このスニペットは、Python スクリプト、ノートブック、またはターミナルにコピー＆ペーストして使用できます。

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) の Registry にアクセスします。
2. 対象のアーティファクトが含まれる registry の名前を選択します。
3. コレクションの名前を選択します。
4. アーティファクトのバージョンの一覧から、アクセスするバージョンを選択します。
5. **Usage** タブを選択します。
6. **Usage API** セクションに表示されているコードスニペットをコピーします。
7. コピーしたコードスニペットを Python スクリプト、ノートブック、またはターミナルに貼り付けます。


## Related topics

- [Public API 概要](/ja/products/wandb/ref/python/public-api.md)
