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

# 레지스트리 항목 찾기

> UI에서 대화형으로, 또는 쿼리를 사용해 프로그래밍 방식으로 레지스트리, 컬렉션, 아티팩트 버전을 검색하는 방법을 알아보세요.

[레지스트리에서 대화형으로](/ko/products/registry/search_registry#search-for-registry-items) 또는 W\&B Python SDK를 사용해 [프로그래밍 방식으로](/ko/products/registry/search_registry#query-registry-items) 레지스트리, 컬렉션, 아티팩트 버전을 찾을 수 있습니다.

검색 결과에는 조회 권한이 있는 항목만 표시됩니다.

<Info>
  레지스트리 쿼리에 사용할 수 있는 구문과 Operator는 MongoDB 쿼리와 비슷하지만 완전히 같지는 않습니다.
</Info>

<h2 id="search-for-registry-items">
  레지스트리 항목 검색
</h2>

[레지스트리 홈페이지의 검색 창](/ko/products/registry/search_registry#basic-search)에서 이름으로 컬렉션과 레지스트리를 찾을 수 있습니다. 이름, 태그, 설명, 생성 날짜 등 특정 속성으로 레지스트리, 컬렉션 또는 아티팩트 버전을 찾으려면 [고급 검색](/ko/products/registry/search_registry#advanced-search)을 사용하세요.

<h3 id="basic-search">
  기본 검색
</h3>

레지스트리 홈페이지에서 레지스트리와 컬렉션을 검색할 수 있습니다.

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) 에서 레지스트리로 이동하세요.
2. 페이지 상단의 검색창에 검색어를 입력하세요.
3. Enter 키를 눌러 검색하세요.

<h3 id="advanced-search">
  고급 검색
</h3>

고급 검색을 사용하여 레지스트리, 컬렉션 또는 아티팩트 버전을 검색하세요. 필터를 사용하면 이름, 태그, 설명, 생성 날짜 등의 속성을 기준으로 특정 레지스트리 항목을 찾을 수 있습니다.

1. [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/) 에서 레지스트리로 이동하세요.
2. 홈페이지 상단에서 **Advanced**를 클릭하세요.
3. **Registries**, **Collections** 또는 **Versions** 버튼을 선택하세요.
4. **Filters**를 클릭하세요.
5. 왼쪽부터 순서대로 필터링할 속성, Operator, 값을 선택하세요. 여러 필터를 추가하면 검색 결과의 범위를 좁힐 수 있습니다.
6. Enter 키를 눌러 필터를 적용하세요.

<h2 id="query-registry-items">
  레지스트리 항목 쿼리
</h2>

[`wandb.Api().registries()`](/ko/products/wandb/ref/python/public-api/api#method-api-registries)와 *쿼리 조건자*를 사용하여 레지스트리, 컬렉션, 아티팩트 버전을 필터링하세요. 쿼리 조건자는 반환되는 항목이 충족해야 하는 기준을 지정하는 조건입니다.

쿼리 조건자를 만들려면 [쿼리 이름](/ko/products/registry/search_registry#filterable-fields), 하나 이상의 [Operator](/ko/products/registry/search_registry#supported-operators), 값으로 구성된 JSON 형태의 딕셔너리를 사용하세요. 다음 코드 스니펫은 쿼리 조건자의 일반적인 구조를 보여 줍니다.

```python theme={"system"}
{
    "query_name": {
        "operator": value
    }
}
```

다음 섹션에서는 사용 가능한 레지스트리 [쿼리 이름](/ko/products/registry/search_registry#filterable-fields), [지원되는 Operator](/ko/products/registry/search_registry#supported-operators), [쿼리 예시](/ko/products/registry/search_registry#example-queries)를 설명합니다.

<h3 id="filterable-fields">
  필터링 가능한 필드
</h3>

다음 표는 필터링할 항목의 유형별로 사용할 수 있는 쿼리 이름을 보여 줍니다.

| | 쿼리 이름 |
| - | - |
| 레지스트리 | `name`, `description`, `created_at`, `updated_at` |
| 컬렉션 | `name`, `tag`, `description`, `created_at`, `updated_at` |
| 버전 | `tag`, `alias`, `created_at`, `updated_at`, `metadata` |

<h3 id="supported-operators">
  지원되는 Operator
</h3>

W\&B에서는 레지스트리 항목을 필터링할 때 다음 비교 및 논리 Operator를 사용할 수 있습니다.

<h4 id="comparison-operators">
  비교 Operator
</h4>

| Operator | 설명 |
| - | - |
| `$eq` | 같음 |
| `$ne` | 같지 않음 |
| `$gt` | 초과 |
| `$gte` | 이상 |
| `$lt` | 미만 |
| `$lte` | 이하 |

<h4 id="logical-operators">
  논리 Operator
</h4>

| Operator | 설명 |
| - | - |
| `$and` | 하나 이상의 조건에 [AND](https://en.wikipedia.org/wiki/Logical_conjunction) 논리를 적용합니다 |
| `$or` | 하나 이상의 조건에 [OR](https://en.wikipedia.org/wiki/Logical_disjunction) 논리를 적용합니다 |
| `$nor` | 하나 이상의 조건에 [NOR](https://en.wikipedia.org/wiki/Logical_NOR) 논리를 적용합니다 |
| `$not` | 단일 조건에 [NOT](https://en.wikipedia.org/wiki/Negation) 논리를 적용합니다 |

<h4 id="other-operators">
  기타 Operator
</h4>

| Operator | 설명 |
| - | - |
| `$regex` | 정규 표현식 패턴 매칭 |
| `$exists` | 필드 존재 여부 |
| `$contains` | 문자열에 값이 포함되어 있는지 여부 |

<h3 id="example-queries">
  쿼리 예시
</h3>

다음 코드 예시는 일반적인 검색 시나리오 몇 가지를 보여줍니다.

`wandb.Api().registries()` 메서드를 사용하려면 먼저 W\&B Python SDK([`wandb`](/ko/products/wandb/ref/python)) 라이브러리를 임포트하세요.

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

# (선택) 가독성을 위해 wandb.Api() 클래스의 인스턴스를 생성합니다
api = wandb.Api()
```

`model` 문자열이 포함된 모든 레지스트리를 필터링합니다.

```python theme={"system"}
# `model` 문자열이 포함된 모든 레지스트리 필터링
registry_filters = {
    "name": {"$regex": "model"}
}

# 필터 조건과 일치하는 모든 레지스트리를 이터러블로 반환
registries = api.registries(filter=registry_filters)
```

레지스트리와 관계없이 컬렉션 이름에 문자열 `yolo`가 포함된 모든 컬렉션을 필터링합니다.

```python theme={"system"}
# 레지스트리와 관계없이 컬렉션 이름에 문자열 `yolo`가
# 포함된 컬렉션을 모두 필터링합니다
collection_filters = {
    "name": {"$regex": "yolo"}
}

# 필터 조건과 일치하는 모든 컬렉션을 이터러블로 반환합니다
collections = api.registries().collections(filter=collection_filters)
```

레지스트리에 관계없이 컬렉션 이름에 문자열 `yolo`가 포함되어 있고 `cnn` 태그가 지정된 모든 컬렉션을 필터링합니다:

```python theme={"system"}
# 레지스트리와 관계없이 컬렉션 이름에 문자열 `yolo`가 포함되고
# `cnn` 태그가 지정된 모든 컬렉션을 필터링합니다
collection_filters = {
    "name": {"$regex": "yolo"},
    "tag": "cnn"
}

# 필터 조건에 맞는 모든 컬렉션을 이터러블로 반환합니다
collections = api.registries().collections(filter=collection_filters)
```

문자열 `model`을 포함하고, `image-classification` 태그 또는 `latest` 별칭이 있는 모든 아티팩트 버전을 찾습니다.

```python theme={"system"}
# 문자열 `model`을 포함하고, `image-classification` 태그 또는 
# `latest` 별칭이 있는 모든 아티팩트 버전을 찾습니다
registry_filters = {
    "name": {"$regex": "model"}
}

# 논리 연산자 $or를 사용해 아티팩트 버전을 필터링합니다
version_filters = {
    "$or": [
        {"tag": "image-classification"},
        {"alias": "production"}
    ]
}

# 필터와 일치하는 모든 아티팩트 버전을 이터러블로 반환합니다
artifacts = api.registries(filter=registry_filters).collections().versions(filter=version_filters)
```

이전 코드 스니펫의 `artifacts` 이터러블에 포함된 각 항목은 `Artifact` 클래스의 인스턴스입니다. 따라서 `name`, `collection`, `aliases`, `tags`, `created_at` 등 각 아티팩트의 속성에 액세스할 수 있습니다.

```python theme={"system"}
for art in artifacts:
    print(f"artifact name: {art.name}")
    print(f"collection artifact belongs to: { art.collection.name}")
    print(f"artifact aliases: {art.aliases}")
    print(f"tags attached to artifact: {art.tags}")
    print(f"artifact created at: {art.created_at}\n")
```

아티팩트 객체의 전체 속성 목록은 W\&B Python SDK 레퍼런스 문서의 [Artifact 클래스](/ko/products/wandb/ref/python/experiments/artifact)를 참조하세요.

레지스트리나 컬렉션에 관계없이 `2024-01-08`부터 `2025-03-04` `13:10 UTC` 사이에 생성된 모든 아티팩트 버전을 필터링합니다.

```python theme={"system"}
# 2024-01-08부터 2025-03-04 13:10 UTC 사이에 생성된 모든 아티팩트 버전을 찾습니다. 

artifact_filters = {
    "alias": "latest",
    "created_at" : {"$gte": "2024-01-08", "$lte": "2025-03-04 13:10:00"},
}

# 필터 조건에 맞는 모든 아티팩트 버전을 이터러블로 반환합니다
artifacts = api.registries().collections().versions(filter=artifact_filters)
```

<Note>
  `created_at` 및 `updated_at` 쿼리에서는 날짜와 시간을 `YYYY-MM-DD HH:MM:SS` 형식으로 지정하세요. 날짜로만 필터링하려면 시, 분, 초는 생략해도 됩니다.
</Note>
