# Tìm kiếm trên Hub

Trong hướng dẫn này, bạn sẽ học cách tìm kiếm các mô hình, bộ dữ liệu và không gian trên Hub bằng `huggingface_hub`.

## Cách liệt kê các kho?

Thư viện `huggingface_hub` bao gồm một client HTTP [HfApi](/docs/huggingface_hub/v2.4.0/vi/package_reference/hf_api#huggingface_hub.HfApi) để tương tác với Hub. Trong số các chức năng khác, nó có thể liệt kê các model, dataset và space được lưu trữ trên Hub:

```py
>>> from huggingface_hub import HfApi
>>> api = HfApi()
>>> models = api.list_models()
```

Đầu ra của [list_models()](/docs/huggingface_hub/v2.4.0/vi/package_reference/hf_api#huggingface_hub.HfApi.list_models) là một trình lặp (iterator) trên các mô hình được lưu trữ trên Hub.

Tương tự, bạn có thể sử dụng [list_datasets()](/docs/huggingface_hub/v2.4.0/vi/package_reference/hf_api#huggingface_hub.HfApi.list_datasets) để liệt kê các bộ dữ liệu và [list_spaces()](/docs/huggingface_hub/v2.4.0/vi/package_reference/hf_api#huggingface_hub.HfApi.list_spaces) để liệt kê các Spaces.

## Cách lọc kho?

Việc liệt kê các kho lưu trữ rất hữu ích nhưng giờ đây bạn có thể muốn lọc kết quả tìm kiếm. Các hàm trợ giúp liệt kê có một số thuộc tính như:
- `filter`
- `author`
- `search`
- `num_parameters`
- ...

Hãy xem một ví dụ để lấy tất cả các mô hình trên Hub thực hiện phân loại hình ảnh, được huấn luyện trên bộ dữ liệu imagenet và chạy với PyTorch.

```py
models = hf_api.list_models(filter=["image-classification", "pytorch", "imagenet"])
```

Bạn cũng có thể lọc các mô hình theo số lượng tham số bằng cách sử dụng cú pháp khoảng giá trị tương tự như trong giao diện Hub:

```py
models = hf_api.list_models(num_parameters="min:6B,max:128B")
```

Trong khi lọc, bạn cũng có thể sắp xếp các mô hình và chỉ lấy các kết quả hàng đầu. Ví dụ, ví dụ sau lấy 5 bộ dữ liệu được tải xuống nhiều nhất trên Hub:

```py
>>> list(list_datasets(sort="downloads", limit=5))
[DatasetInfo(
	id='argilla/databricks-dolly-15k-curated-en',
	author='argilla',
	sha='4dcd1dedbe148307a833c931b21ca456a1fc4281',
	last_modified=datetime.datetime(2023, 10, 2, 12, 32, 53, tzinfo=datetime.timezone.utc),
	private=False,
	downloads=8889377,
	(...)
```

Để khám phá các bộ lọc có sẵn trên Hub, hãy truy cập trang [models](https://huggingface.co/models) và [datasets](https://huggingface.co/datasets) trong trình duyệt của bạn, tìm kiếm một số tham số và xem các giá trị trong URL.

## Sử dụng CLI

Bạn cũng có thể liệt kê và tìm kiếm các model, dataset và Spaces bằng giao diện dòng lệnh `hf`:

```bash
# List models
>>> hf models ls --search "llama" --sort downloads --limit 5

# List datasets
>>> hf datasets ls --author Qwen

# List Spaces
>>> hf spaces ls --search "3d"

# Get info about a specific model
>>> hf models info Lightricks/LTX-2
```

Để biết thêm chi tiết, hãy xem [hướng dẫn CLI](./cli#hf-models).

