# Поиск в Hub

В этом учебном материале вы узнаете, как искать модели, наборы данных и пространства на Hub с помощью `huggingface_hub`.

## Как получить список репозиториев?

Библиотека `huggingface_hub` включает HTTP-клиент [HfApi](/docs/huggingface_hub/main/ru/package_reference/hf_api#huggingface_hub.HfApi) для взаимодействия с Hub. Среди прочего он позволяет получить список моделей, наборов данных и пространств, хранящихся на Hub:

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

Вывод [list_models()](/docs/huggingface_hub/main/ru/package_reference/hf_api#huggingface_hub.HfApi.list_models) — это итератор по моделям, хранящимся на Hub.

Аналогично, вы можете использовать [list_datasets()](/docs/huggingface_hub/main/ru/package_reference/hf_api#huggingface_hub.HfApi.list_datasets) для получения списка датасетов и [list_spaces()](/docs/huggingface_hub/main/ru/package_reference/hf_api#huggingface_hub.HfApi.list_spaces) для получения списка Spaces.

## Как отфильтровать репозитории?

Просмотр списка репозиториев — это хорошо, но теперь вы, возможно, захотите отфильтровать результаты поиска. У вспомогательных функций для работы со списком есть несколько атрибутов, например:
- `filter`
- `author`
- `search`
- `num_parameters`
- ...

Рассмотрим пример, как получить все модели на Hub, которые выполняют классификацию изображений, обучены на наборе данных imagenet и работают с PyTorch.

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

Вы также можете фильтровать модели по количеству параметров, используя тот же синтаксис диапазонов, что и в интерфейсе Hub:

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

При фильтрации можно также отсортировать модели и оставить только лучшие результаты. Например, в следующем примере запрашиваются 5 наиболее загруженных датасетов на 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,
	(...)
```

Чтобы изучить доступные фильтры на Hub, откройте страницы [models](https://huggingface.co/models) и [datasets](https://huggingface.co/datasets) в браузере, введите некоторые параметры в поиске и посмотрите на значения в URL.

## Использование CLI

Вы также можете получать список моделей, наборов данных и Spaces и искать их с помощью командной строки `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
```

Подробнее см. в [руководстве по CLI](./cli#hf-models).

