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

# 레지스트리에서 아티팩트 다운로드

> 경로를 구성하고 Python SDK를 사용하여 레지스트리 컬렉션에 연결된 아티팩트를 다운로드합니다.

W\&B Python SDK를 사용하여 레지스트리에 연결된 아티팩트를 다운로드하세요. 아티팩트를 다운로드하고 사용하려면 레지스트리 이름, 컬렉션 이름, 다운로드하려는 아티팩트 버전의 별칭 또는 인덱스를 알아야 합니다.

아티팩트의 속성을 알게 되면 [연결된 아티팩트의 경로를 구성](#construct-path-to-linked-artifact)하여 아티팩트를 다운로드할 수 있습니다. 또는 W\&B App UI에서 [미리 생성된 코드 스니펫을 복사하여 붙여넣기](#copy-and-paste-pre-generated-code-snippet)하여 레지스트리에 연결된 아티팩트를 다운로드할 수도 있습니다.

<h2 id="construct-path-to-linked-artifact">
  연결된 아티팩트 경로 구성
</h2>

레지스트리에 연결된 아티팩트를 다운로드하려면 해당 연결된 아티팩트의 경로를 알아야 합니다. 경로는 레지스트리 이름, 컬렉션 이름, 그리고 액세스하려는 아티팩트 버전의 별칭 또는 인덱스로 구성됩니다.

레지스트리, 컬렉션, 아티팩트 버전의 별칭 또는 인덱스를 확보했다면, 다음 문자열 템플릿을 사용하여 연결된 아티팩트의 경로를 구성할 수 있습니다.

```python theme={"system"}
# 버전 인덱스가 지정된 아티팩트 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:v{INDEX}"

# 별칭이 지정된 아티팩트 이름
f"wandb-registry-{REGISTRY}/{COLLECTION}:{ALIAS}"
```

중괄호 `{}` 안의 값을 레지스트리 이름, 컬렉션 이름, 그리고 액세스하려는 아티팩트 버전의 별칭 또는 인덱스로 교체하세요.

연결된 아티팩트의 경로를 얻은 후 `wandb.Run.use_artifact()` 방법을 사용하여 아티팩트에 액세스하고 콘텐츠를 다운로드하세요. 다음 코드 스니펫은 레지스트리에 연결된 아티팩트를 사용하고 다운로드하는 방법을 보여줍니다. `<>` 안의 값을 자신의 값으로 교체하세요:

```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에 표시된 전체 이름을 복사하여 붙여넣으세요
    fetched_artifact = run.use_artifact(artifact_or_name = artifact_name)  
    download_path = fetched_artifact.download()  
```

`wandb.Run.use_artifact()` 방법은 [run](/ko/products/wandb/runs)을 생성하고 다운로드한 아티팩트를 해당 run의 입력으로 표시합니다.
아티팩트를 run의 입력으로 표시하면 W\&B가 해당 아티팩트의 리니지를 추적할 수 있습니다.

run을 생성하지 않으려면 `wandb.Api()` object를 사용하여 아티팩트에 액세스할 수 있습니다:

```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>예시: 레지스트리에 연결된 아티팩트 사용 및 다운로드</summary>

  다음 코드 예시는 사용자가 **Fine-tuned Models** 레지스트리의 `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'

  # 지정된 팀과 프로젝트 내에서 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 Reference의 [`wandb.Run.use_artifact()`](/ko/products/wandb/ref/python/experiments/run#method-run-use_artifact) 및 [`Artifact.download()`](/ko/products/wandb/ref/python/experiments/artifact#method-artifact-download)를 참조하세요.

<Note>
  **여러 조직에 속한 개인 entity를 가진 사용자**

  여러 조직에 속한 개인 entity를 가진 사용자는 레지스트리에 연결된 아티팩트에 액세스할 때 조직 이름을 지정하거나 팀 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는 레지스트리에 연결된 아티팩트를 다운로드하기 위해 Python 스크립트, 노트북 또는 터미널에 복사하여 붙여넣을 수 있는 코드 스니펫을 생성합니다.

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) 에서 레지스트리로 이동하세요.
2. 아티팩트가 포함된 레지스트리의 이름을 선택하세요.
3. 컬렉션의 이름을 선택하세요.
4. 아티팩트 버전 목록에서 액세스하려는 버전을 선택하세요.
5. **사용** 탭을 선택하세요.
6. **Usage API** 섹션에 표시된 코드 스니펫을 복사하세요.
7. 코드 스니펫을 Python 스크립트, 노트북 또는 터미널에 붙여넣으세요.


## Related topics

- [Public API 개요](/ko/products/wandb/ref/python/public-api.md)
