# Hubを検索

このチュートリアルでは、`huggingface_hub` を使用して Hub 上でモデル、データセット、スペースを検索する方法を学びます。

## リポジトリのリストを取得するには

`huggingface_hub` ライブラリには、Hub とやり取りするための HTTP クライアント [HfApi](/docs/huggingface_hub/v2.4.0/ja/package_reference/hf_api#huggingface_hub.HfApi) が含まれています。これにより、Hub に保存されているモデル、データセット、スペースの一覧を取得できます。

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

[list_models()](/docs/huggingface_hub/v2.4.0/ja/package_reference/hf_api#huggingface_hub.HfApi.list_models) の出力は、Hub に保存されているモデルを反復するイテレータです。

同様に、[list_datasets()](/docs/huggingface_hub/v2.4.0/ja/package_reference/hf_api#huggingface_hub.HfApi.list_datasets) を使用してデータセットを、[list_spaces()](/docs/huggingface_hub/v2.4.0/ja/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 UIと同じ範囲構文を使用して、パラメータ数でモデルをフィルタリングすることもできます。

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

フィルタリング中、モデルをソートして上位の結果のみを取得することもできます。例えば、次の例では、Hubでダウンロード数が最も多い上位5つのデータセットを取得します。

```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の使用

`hf` コマンドラインインターフェースを使用して、モデル、データセット、Spacesのリスト表示や検索も行うことができます:

```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)を参照してください。

