# Карточки репозиториев

Библиотека huggingface_hub предоставляет интерфейс на Python для создания, обмена и обновления карточек моделей и наборов данных. Ознакомьтесь с [специальной страницей документации](https://huggingface.co/docs/hub/models-cards), чтобы глубже понять, что такое карточки моделей на Hub и как они работают. Также вы можете обратиться к нашему [руководству по карточкам моделей](../how-to-model-cards), чтобы узнать, как использовать эти утилиты в собственных проектах.

## Карточка репозитория[[huggingface_hub.RepoCard]]

Объект `RepoCard` является родительским классом для [ModelCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.ModelCard), [DatasetCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.DatasetCard) и `SpaceCard`.

#### huggingface_hub.RepoCard[[huggingface_hub.RepoCard]]

```python
huggingface_hub.RepoCard(content: str, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L37)

#### __init__[[huggingface_hub.RepoCard.__init__]]

```python
__init__(content: str, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L42)

**Параметры:**

content (`str`) : содержимое файла Markdown.

Инициализирует RepoCard из строкового содержимого. Содержимое должно представлять собой файл Markdown с блоком YAML в начале и основным текстом в формате Markdown.

Пример:
```python
>>> from huggingface_hub.repocard import RepoCard
>>> text = '''
... ---
... language: en
... license: mit
... ---
...
... # My repo
... '''
>>> card = RepoCard(text)
>>> card.data.to_dict()
{'language': 'en', 'license': 'mit'}
>>> card.text
'\n# My repo\n'

```

> [!TIP]
> Вызывает следующую ошибку:
>
> - [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError), если содержимое метаданных карточки репозитория не является словарем.

#### from_template[[huggingface_hub.RepoCard.from_template]]

```python
from_template(card_data: CardData, template_path: str | None = None, template_str: str | None = None, **template_kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L289)

**Параметры:**

card_data (`huggingface_hub.CardData`) : экземпляр huggingface_hub.CardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки репозитория на Hugging Face Hub.

template_path (`str`, *необязательный*) : Путь к файлу в формате Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощью `template_kwargs`. По умолчанию используется стандартный шаблон.

template_str (`str`, *необязательный*) : Строка с необработанным шаблоном Jinja с необязательными переменными. Используется, когда ни `template_path`, ни шаблон по умолчанию не подходят. Игнорируется, если также указан `template_path`.

**Возвращает:** [huggingface_hub.repocard.RepoCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.RepoCard)

Экземпляр RepoCard с указанными данными карточки и содержимым из шаблона.

Инициализируйте RepoCard из шаблона. По умолчанию используется шаблон по умолчанию.

Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.

#### load[[huggingface_hub.RepoCard.load]]

```python
load(repo_id_or_path: str | pathlib.Path, repo_type: str | None = None, token: str | None = None, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L135)

**Параметры:**

repo_id_or_path (`Union[str, Path]`) : ID репозитория, связанный с репозиторием Hugging Face Hub, или локальный путь к файлу.

repo_type (`str`, *optional*) : Тип репозитория Hugging Face, в который выполняется push. По умолчанию None, что означает использование "model". Другие варианты: "dataset" и "space". Не используется при загрузке из локального пути. Если этот метод вызывается из дочернего класса, значение по умолчанию будет `repo_type` дочернего класса.

token (`str`, *необязательный*) : Токен аутентификации, полученный с помощью метода `huggingface_hub.HfApi.login`. По умолчанию используется сохранённый токен.

ignore_metadata_errors (`str`) : Если True, ошибки при разборе раздела метаданных будут игнорироваться. Часть информации может быть потеряна в процессе. Используйте на свой страх и риск.

**Возвращает:** [huggingface_hub.repocard.RepoCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.RepoCard)

Объект RepoCard (или подкласса), инициализированный из файла README.md репозитория или из указанного пути к файлу.

Инициализируйте RepoCard из README.md репозитория на Hugging Face Hub или из локального пути к файлу.

Пример:
```python
>>> from huggingface_hub.repocard import RepoCard
>>> card = RepoCard.load("nateraw/food")
>>> assert card.data.tags == ["generated_from_trainer", "image-classification", "pytorch"]

```

#### push_to_hub[[huggingface_hub.RepoCard.push_to_hub]]

```python
push_to_hub(repo_id: str, token: str | None = None, repo_type: str | None = None, commit_message: str | None = None, commit_description: str | None = None, revision: str | None = None, create_pr: bool | None = None, parent_commit: str | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L226)

**Параметры:**

repo_id (`str`) : ID репозитория на Hugging Face Hub, в который выполняется публикация. Пример: "nateraw/food".

token (`str`, *необязательный*) : Токен аутентификации, полученный с помощью метода `huggingface_hub.HfApi.login`. По умолчанию используется сохранённый токен.

repo_type (`str`, *необязательный*, по умолчанию "model") : Тип репозитория Hugging Face, в который выполняется публикация. Доступные значения: "model", "dataset" и "space". Если эта функция вызывается дочерним классом, значением по умолчанию будет `repo_type` этого дочернего класса.

commit_message (`str`, *необязательный*) : Сводка / заголовок / первая строка сгенерированного коммита.

commit_description (`str`, *необязательный*) : Описание создаваемого коммита.

revision (`str`, *необязательный*) : git-ревизия, от которой выполняется коммит. По умолчанию используется head ветки `"main"`.

create_pr (`bool`, *необязательный*) : Создавать ли Pull Request с этим коммитом. По умолчанию `False`.

parent_commit (`str`, *optional*) : OID / SHA родительского коммита в виде шестнадцатеричной строки. Поддерживаются сокращения (первые 7 символов). Если указано и `create_pr` равно `False`, коммит завершится ошибкой, если `revision` не указывает на `parent_commit`. Если указано и `create_pr` равно `True`, pull request будет создан из `parent_commit`. Указание `parent_commit` гарантирует, что репозиторий не изменился перед коммитом изменений, что особенно полезно, если репозиторий обновляется / коммитится параллельно.

**Возвращает:** `str`

URL коммита, в котором были обновлены метаданные карточки.

Загрузите RepoCard в репозиторий Hugging Face Hub.

#### save[[huggingface_hub.RepoCard.save]]

```python
save(filepath: pathlib.Path | str)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L115)

**Параметры:**

filepath (`Union[Path, str]`) : Путь к файлу Markdown для сохранения.

Сохраните RepoCard в файл.

Пример:
```python
>>> from huggingface_hub.repocard import RepoCard
>>> card = RepoCard("---\nlanguage: en\n---\n# This is a test repo card")
>>> card.save("/tmp/test.md")

```

#### validate[[huggingface_hub.RepoCard.validate]]

```python
validate(repo_type: str | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L189)

**Параметры:**

repo_type (`str`, *необязательный*, по умолчанию "model") : Тип репозитория Hugging Face, в который выполняется публикация. Варианты: "model", "dataset" и "space". Если эта функция вызывается из дочернего класса, значением по умолчанию будет `repo_type` этого дочернего класса.

Проверяет карточку по логике валидации карточек Hugging Face Hub. Использование этой функции требует доступа в интернет, поэтому она вызывается только внутренне функцией [huggingface_hub.repocard.RepoCard.push_to_hub()](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.RepoCard.push_to_hub).

> [!TIP]
> Вызывает следующие ошибки:
>
> - [`ValueError`](https://docs.python.org/3/library/exceptions.html#ValueError), если карта не проходит проверки валидации. - [`HTTPError`](https://requests.readthedocs.io/en/latest/api/#requests.HTTPError), если запрос к API Hub по какой-либо другой причине завершается ошибкой.

## Данные карточки[[huggingface_hub.CardData]]

Объект [CardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.CardData) является родительским классом для [ModelCardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.ModelCardData) и [DatasetCardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.DatasetCardData).

#### huggingface_hub.CardData[[huggingface_hub.CardData]]

```python
huggingface_hub.CardData(ignore_metadata_errors: bool = False, **kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L165)

Структура, содержащая метаданные из RepoCard.

[CardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.CardData) — родительский класс для [ModelCardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.ModelCardData) и [DatasetCardData](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.DatasetCardData).

Метаданные можно экспортировать в виде словаря или YAML. Экспорт можно настроить, чтобы изменить представление данных (например, выровнять результаты оценки). `CardData` ведёт себя как словарь (можно получать, удалять и устанавливать значения), но не наследуется от `dict`, чтобы обеспечить возможность этого шага экспорта.

#### get[[huggingface_hub.CardData.get]]

```python
get(key: str, default: typing.Any = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L228)

Получить значение для заданного ключа метаданных.

#### pop[[huggingface_hub.CardData.pop]]

```python
pop(key: str, default: typing.Any = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L233)

Значение Pop для заданного ключа метаданных.

#### to_dict[[huggingface_hub.CardData.to_dict]]

```python
to_dict()
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L178)

**Возвращает:** `dict`

CardData, представленный в виде словаря, готового к выгрузке в блок YAML для включения в файл README.md.

Преобразует CardData в dict.

#### to_yaml[[huggingface_hub.CardData.to_yaml]]

```python
to_yaml(line_break = None, original_order: list[str] | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L198)

**Параметры:**

line_break (str, *optional*) : Символ переноса строки, используемый при выводе в yaml.

original_order (`list[str]`, *необязательный*) : Если указано, переставляет поля метаданных в соответствии с этим списком перед выгрузкой. Все ключи, отсутствующие в `original_order`, добавляются после перечисленных ключей с сохранением их исходного относительного порядка. Полезно для циклической обработки блока YAML без перемешивания его ключей.

**Возвращает:** `str`

CardData, представленный в виде блока YAML.

Сохраняет CardData в YAML-блок для включения в файл README.md.

## Карточки моделей

### ModelCard[[huggingface_hub.ModelCard]]

#### huggingface_hub.ModelCard[[huggingface_hub.ModelCard]]

```python
huggingface_hub.ModelCard(content: str, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L336)

#### from_template[[huggingface_hub.ModelCard.from_template]]

```python
from_template(card_data: ModelCardData, template_path: str | None = None, template_str: str | None = None, **template_kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L341)

**Параметры:**

card_data (`huggingface_hub.ModelCardData`) : экземпляр huggingface_hub.ModelCardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки модели на Hugging Face Hub.

template_path (`str`, *необязательный*) : Путь к файлу в формате Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощью `template_kwargs`. По умолчанию используется стандартный шаблон.

template_str (`str`, *необязательный*) : Строка с необработанным шаблоном Jinja с необязательными переменными. Используется, когда ни `template_path`, ни шаблон по умолчанию не подходят. Игнорируется, если также указан `template_path`.

**Возвращает:** [huggingface_hub.ModelCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.ModelCard)

Объект ModelCard с указанными данными карточки и содержимым из шаблона.

Инициализирует ModelCard из шаблона. По умолчанию используется стандартный шаблон, который можно найти здесь: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md

Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.

Пример:
```python
>>> from huggingface_hub import ModelCard, ModelCardData, EvalResult

>>> # Using the Default Template
>>> card_data = ModelCardData(
...     language='en',
...     license='mit',
...     library_name='timm',
...     tags=['image-classification', 'resnet'],
...     datasets=['beans'],
...     metrics=['accuracy'],
... )
>>> card = ModelCard.from_template(
...     card_data,
...     model_description='This model does x + y...'
... )

>>> # Including Evaluation Results
>>> card_data = ModelCardData(
...     language='en',
...     tags=['image-classification', 'resnet'],
...     eval_results=[
...         EvalResult(
...             task_type='image-classification',
...             dataset_type='beans',
...             dataset_name='Beans',
...             metric_type='accuracy',
...             metric_value=0.9,
...         ),
...     ],
...     model_name='my-cool-model',
... )
>>> card = ModelCard.from_template(card_data)

>>> # Using a Custom Template
>>> card_data = ModelCardData(
...     language='en',
...     tags=['image-classification', 'resnet']
... )
>>> card = ModelCard.from_template(
...     card_data=card_data,
...     template_path='./src/huggingface_hub/templates/modelcard_template.md',
...     custom_template_var='custom value',  # will be replaced in template if it exists
... )

```

### ModelCardData[[huggingface_hub.ModelCardData]]

#### huggingface_hub.ModelCardData[[huggingface_hub.ModelCardData]]

```python
huggingface_hub.ModelCardData(base_model: str | list[str] | None = None, datasets: str | list[str] | None = None, eval_results: list[huggingface_hub.repocard_data.EvalResult] | None = None, language: str | list[str] | None = None, library_name: str | None = None, license: str | None = None, license_name: str | None = None, license_link: str | None = None, metrics: list[str] | None = None, model_name: str | None = None, pipeline_tag: str | None = None, tags: list[str] | None = None, ignore_metadata_errors: bool = False, **kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L271)

**Параметры:**

base_model (`str` или `list[str]`, *необязательный*) : Идентификатор базовой модели, от которой происходит данная модель. Это применимо, например, если ваша модель является дообучением или адаптером существующей модели. Значением должен быть ID модели на Hub (или список ID, если ваша модель происходит от нескольких моделей). По умолчанию — None.

datasets (`Union[str, list[str]]`, *необязательный*) : Набор данных или список наборов данных, которые использовались для обучения этой модели. Должен быть идентификатором набора данных, найденным на https://hf.co/datasets. По умолчанию — None.

eval_results (`Union[list[EvalResult], EvalResult]`, *необязательный*) : Список `huggingface_hub.EvalResult`, определяющих результаты оценки модели. Если указано, `model_name` используется в качестве имени на лидербордах PapersWithCode. По умолчанию `None`.

language (`Union[str, list[str]]`, *необязательный*) : Язык обучающих данных или метаданных модели. Должен представлять собой код ISO 639-1, 639-2 или 639-3 (два/три буквы) или специальное значение, например "code", "multilingual". По умолчанию `None`.

library_name (`str`, *необязательный*) : Название библиотеки, используемой этой моделью. Пример: keras или любая библиотека из https://github.com/huggingface/huggingface.js/blob/main/packages/tasks/src/model-libraries.ts. По умолчанию: None.

license (`str`, *необязательный*) : Лицензия этой модели. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses. По умолчанию: None.

license_name (`str`, *optional*) : Name of the license of this model. Defaults to None. To be used in conjunction with `license_link`. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a name. In that case, use `license` instead.

license_link (`str`, *optional*) : Link to the license of this model. Defaults to None. To be used in conjunction with `license_name`. Common licenses (Apache-2.0, MIT, CC-BY-SA-4.0) do not need a link. In that case, use `license` instead.

metrics (`list[str]`, *необязательный*) : Список метрик, используемых для оценки этой модели. Должно быть именем метрики, доступной по адресу https://hf.co/metrics. Пример: 'accuracy'. По умолчанию: None.

model_name (`str`, *необязательный*) : Имя этой модели. Используется вместе с `eval_results` для построения `model-index` в метаданных карточки. Указанное здесь имя будет использоваться в таблицах лидеров PapersWithCode. Если значение не указано, по умолчанию используется имя репозитория. По умолчанию: None.

pipeline_tag (`str`, *необязательный*) : Тег конвейера, связанный с моделью. Пример: "text-classification".

tags (`list[str]`, *необязательный*) : Список тегов, которые будут добавлены к вашей модели и могут использоваться при фильтрации на Hugging Face Hub. По умолчанию — None.

ignore_metadata_errors (`str`) : Если True, ошибки при разборе раздела метаданных будут игнорироваться. Часть информации может быть потеряна в процессе. Используйте на свой страх и риск.

kwargs (`dict`, *необязательный*) : Дополнительные метаданные, которые будут добавлены в карточку модели. По умолчанию — None.

Метаданные карточки модели, которые используются Hugging Face Hub при включении в начало вашего README.md

Пример:
```python
>>> from huggingface_hub import ModelCardData
>>> card_data = ModelCardData(
...     language="en",
...     license="mit",
...     library_name="timm",
...     tags=['image-classification', 'resnet'],
... )
>>> card_data.to_dict()
{'language': 'en', 'license': 'mit', 'library_name': 'timm', 'tags': ['image-classification', 'resnet']}

```

## Карточки датасетов

Карточки датасетов также известны как Data Cards в ML-сообществе.

### DatasetCard[[huggingface_hub.DatasetCard]]

#### huggingface_hub.DatasetCard[[huggingface_hub.DatasetCard]]

```python
huggingface_hub.DatasetCard(content: str, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L420)

#### from_template[[huggingface_hub.DatasetCard.from_template]]

```python
from_template(card_data: DatasetCardData, template_path: str | None = None, template_str: str | None = None, **template_kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L425)

**Параметры:**

card_data (`huggingface_hub.DatasetCardData`) : экземпляр huggingface_hub.DatasetCardData, содержащий метаданные, которые вы хотите включить в YAML-заголовок карточки набора данных на Hugging Face Hub.

template_path (`str`, *необязательный*) : Путь к файлу в формате Markdown с необязательными переменными шаблона Jinja, которые можно заполнить с помощью `template_kwargs`. По умолчанию используется стандартный шаблон.

template_str (`str`, *необязательный*) : Строка с необработанным шаблоном Jinja с необязательными переменными. Используется, когда ни `template_path`, ни шаблон по умолчанию не подходят. Игнорируется, если также указан `template_path`.

**Возвращает:** [huggingface_hub.DatasetCard](/docs/huggingface_hub/v2.4.0/ru/package_reference/cards#huggingface_hub.DatasetCard)

Экземпляр DatasetCard с указанными данными карточки и содержимым из шаблона.

Инициализируйте DatasetCard из шаблона. По умолчанию используется стандартный шаблон, который можно найти здесь: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/datasetcard_template.md

Шаблоны представляют собой шаблоны Jinja2, которые можно настраивать, передавая именованные аргументы.

Пример:
```python
>>> from huggingface_hub import DatasetCard, DatasetCardData

>>> # Using the Default Template
>>> card_data = DatasetCardData(
...     language='en',
...     license='mit',
...     annotations_creators='crowdsourced',
...     task_categories=['text-classification'],
...     task_ids=['sentiment-classification', 'text-scoring'],
...     multilinguality='monolingual',
...     pretty_name='My Text Classification Dataset',
... )
>>> card = DatasetCard.from_template(
...     card_data,
...     pretty_name=card_data.pretty_name,
... )

>>> # Using a Custom Template
>>> card_data = DatasetCardData(
...     language='en',
...     license='mit',
... )
>>> card = DatasetCard.from_template(
...     card_data=card_data,
...     template_path='./src/huggingface_hub/templates/datasetcard_template.md',
...     custom_template_var='custom value',  # will be replaced in template if it exists
... )

```

### DatasetCardData[[huggingface_hub.DatasetCardData]]

#### huggingface_hub.DatasetCardData[[huggingface_hub.DatasetCardData]]

```python
huggingface_hub.DatasetCardData(language: str | list[str] | None = None, license: str | list[str] | None = None, annotations_creators: str | list[str] | None = None, language_creators: str | list[str] | None = None, multilinguality: str | list[str] | None = None, size_categories: str | list[str] | None = None, source_datasets: list[str] | None = None, task_categories: str | list[str] | None = None, task_ids: str | list[str] | None = None, paperswithcode_id: str | None = None, pretty_name: str | None = None, train_eval_index: dict | None = None, config_names: str | list[str] | None = None, ignore_metadata_errors: bool = False, **kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L400)

**Параметры:**

language (`list[str]`, *необязательный*) : Язык данных или метаданных набора данных. Должен быть кодом ISO 639-1, 639-2 или 639-3 (два/три буквы) или специальным значением, например "code", "multilingual".

license (`Union[str, list[str]]`, *необязательный*) : Лицензия(и) этого набора данных. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses.

annotations_creators (`Union[str, list[str]]`, *необязательный*) : Способ создания аннотаций для набора данных. Варианты: 'found', 'crowdsourced', 'expert-generated', 'machine-generated', 'no-annotation', 'other'.

language_creators (`Union[str, list[str]]`, *необязательный*) : Способ создания текстовых данных в наборе данных. Варианты: 'found', 'crowdsourced', 'expert-generated', 'machine-generated', 'other'

multilinguality (`Union[str, list[str]]`, *необязательный*) : Указывает, является ли набор данных многоязычным. Варианты: 'monolingual', 'multilingual', 'translation', 'other'.

size_categories (`Union[str, list[str]]`, *необязательный*) : Количество примеров в наборе данных. Варианты: 'n<1K', '1K1T' и 'other'.

source_datasets (`list[str]]`, *необязательный*) : Указывает, является ли датасет исходным или расширенным на основе другого существующего датасета. Варианты: 'original' и 'extended'.

task_categories (`Union[str, list[str]]`, *необязательный*) : Какие категории задач поддерживает набор данных?

task_ids (`Union[str, list[str]]`, *необязательный*) : Какие именно задачи поддерживает набор данных?

paperswithcode_id (`str`, *необязательный*) : идентификатор набора данных на PapersWithCode.

pretty_name (`str`, *необязательный*) : Более понятное для человека название набора данных (например, "Кошки против собак").

train_eval_index (`dict`, *необязательный*) : Словарь, описывающий необходимые спецификации для выполнения оценки на Hub. Если не указан, будет получен из ключа 'train-eval-index' в kwargs.

config_names (`Union[str, list[str]]`, *необязательный*) : Список доступных конфигураций датасета для данного набора данных.

Метаданные карточки датасета, которые используются Hugging Face Hub при включении в начало вашего README.md

## Space Cards

### SpaceCard[[huggingface_hub.SpaceCard]]

#### huggingface_hub.SpaceCard[[huggingface_hub.SpaceCard]]

```python
huggingface_hub.SpaceCard(content: str, ignore_metadata_errors: bool = False)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L488)

### SpaceCardData[[huggingface_hub.SpaceCardData]]

#### huggingface_hub.SpaceCardData[[huggingface_hub.SpaceCardData]]

```python
huggingface_hub.SpaceCardData(title: str | None = None, sdk: str | None = None, sdk_version: str | None = None, python_version: str | None = None, app_file: str | None = None, app_port: int | None = None, license: str | None = None, duplicated_from: str | None = None, models: list[str] | None = None, datasets: list[str] | None = None, tags: list[str] | None = None, ignore_metadata_errors: bool = False, **kwargs)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L480)

**Параметры:**

title (`str`, *необязательный*) : Название Space.

sdk (`str`, *необязательный*) : SDK пространства (одно из `gradio`, `streamlit`, `docker` или `static`).

sdk_version (`str`, *необязательный*) : Версия используемого SDK (если это Gradio/Streamlit sdk).

python_version (`str`, *необязательный*) : версия Python, используемая в Space (если используется Gradio/Streamlit sdk).

app_file (`str`, *необязательный*) : Путь к основному файлу приложения (содержащему Python-код gradio или streamlit, либо статический html-код). Путь указан относительно корня репозитория.

app_port (`str`, *необязательный*) : Порт, на котором работает ваше приложение. Используется только в том случае, если sdk — `docker`.

license (`str`, *необязательный*) : Лицензия этой модели. Пример: apache-2.0 или любая лицензия из https://huggingface.co/docs/hub/repositories-licenses.

duplicated_from (`str`, *необязательный*) : ID исходного Space, если данный Space является его дубликатом.

models (`list[str]`, *необязательный*) : Список моделей, связанных с этим Space. Должен содержать идентификаторы датасетов, найденные на https://hf.co/models.

datasets (`list[str]`, *необязательный*) : Список наборов данных, связанных с этим Space. Должен содержать идентификатор набора данных, найденный на https://hf.co/datasets.

tags (`list[str]`, *необязательный*) : Список тегов, которые будут добавлены к вашему Space и могут использоваться при фильтрации на Hub.

ignore_metadata_errors (`str`) : Если True, ошибки при разборе раздела метаданных будут игнорироваться. Часть информации может быть потеряна в процессе. Используйте на свой страх и риск.

kwargs (`dict`, *необязательный*) : Дополнительные метаданные, которые будут добавлены в карточку пространства.

Метаданные Space Card, используемые Hugging Face Hub при включении в начало вашего README.md

Чтобы получить исчерпывающую справочную информацию по конфигурации Spaces, посетите https://huggingface.co/docs/hub/spaces-config-reference#spaces-configuration-reference.

Пример:
```python
>>> from huggingface_hub import SpaceCardData
>>> card_data = SpaceCardData(
...     title="Dreambooth Training",
...     license="mit",
...     sdk="gradio",
...     duplicated_from="multimodalart/dreambooth-training"
... )
>>> card_data.to_dict()
{'title': 'Dreambooth Training', 'sdk': 'gradio', 'license': 'mit', 'duplicated_from': 'multimodalart/dreambooth-training'}
```

## Утилиты

### EvalResult[[huggingface_hub.EvalResult]]

#### huggingface_hub.EvalResult[[huggingface_hub.EvalResult]]

```python
huggingface_hub.EvalResult(task_type: str, dataset_type: str, dataset_name: str, metric_type: str, metric_value: typing.Any, task_name: str | None = None, dataset_config: str | None = None, dataset_split: str | None = None, dataset_revision: str | None = None, dataset_args: dict[str, typing.Any] | None = None, metric_name: str | None = None, metric_config: str | None = None, metric_args: dict[str, typing.Any] | None = None, verified: bool | None = None, verify_token: str | None = None, source_name: str | None = None, source_url: str | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L13)

**Параметры:**

task_type (`str`) : Идентификатор задачи. Пример: "image-classification".

dataset_type (`str`) : Идентификатор набора данных. Пример: "common_voice". Используйте идентификатор набора данных с https://hf.co/datasets.

dataset_name (`str`) : Красивое имя для набора данных. Пример: "Common Voice (French)".

metric_type (`str`) : Идентификатор метрики. Пример: "wer". Используйте идентификатор метрики с https://hf.co/metrics.

metric_value (`Any`) : значение метрики. Пример: 0.9 или "20.0 ± 1.2".

task_name (`str`, *необязательный*) : Красивое название задачи. Пример: "Speech Recognition".

dataset_config (`str`, *необязательный*) : Имя конфигурации набора данных, используемой в `load_dataset()`. Пример: fr в `load_dataset("common_voice", "fr")`. Подробнее в документации `datasets`: https://hf.co/docs/datasets/package_reference/loading_methods#datasets.load_dataset.name

dataset_split (`str`, *необязательный*) : Разделение, используемое в `load_dataset()`. Пример: "test".

dataset_revision (`str`, *необязательный*) : ревизия (также известная как Git Sha) набора данных, использованного в `load_dataset()`. Пример: 5503434ddd753f426f4b38109466949a1217c2bb

dataset_args (`dict[str, Any]`, *необязательный*) : Аргументы, передаваемые при вызове `Metric.compute()`. Пример для `bleu`: `{"max_order": 4}`

metric_name (`str`, *необязательный*) : Красивое название метрики. Пример: "Test WER".

metric_config (`str`, *необязательный*) : Имя конфигурации метрики, используемой в `load_metric()`. Пример: bleurt-large-512 в `load_metric("bleurt", "bleurt-large-512")`. Подробнее в документации `datasets`: https://huggingface.co/docs/datasets/v2.1.0/en/loading#load-configurations

metric_args (`dict[str, Any]`, *необязательный*) : Аргументы, передаваемые при вызове `Metric.compute()`. Пример для `bleu`: max_order: 4

verified (`bool`, *необязательный*) : Указывает, происходят ли метрики из [сервиса оценки](https://huggingface.co/spaces/autoevaluate/model-evaluator) Hugging Face или нет. Вычисляется автоматически Hugging Face, не устанавливайте вручную.

verify_token (`str`, *необязательный*) : JSON Web Token, используемый для проверки, исходят ли метрики из [сервиса оценки](https://huggingface.co/spaces/autoevaluate/model-evaluator) Hugging Face.

source_name (`str`, *необязательный*) : Имя источника результата оценки. Пример: "Open LLM Leaderboard".

source_url (`str`, *необязательный*) : URL источника результата оценки. Пример: "https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard".

Сплошное представление отдельных результатов оценки, найденных в model-index карточек моделей.

Для получения дополнительной информации о спецификации model-index см. https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1.

#### is_equal_except_value[[huggingface_hub.EvalResult.is_equal_except_value]]

```python
is_equal_except_value(other: EvalResult)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L145)

Возвращает True, если `self` и `other` описывают одну и ту же метрику, но с разным значением.

### model_index_to_eval_results[[huggingface_hub.repocard_data.model_index_to_eval_results]]

#### huggingface_hub.repocard_data.model_index_to_eval_results[[huggingface_hub.repocard_data.model_index_to_eval_results]]

```python
huggingface_hub.repocard_data.model_index_to_eval_results(model_index: list)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L561)

**Параметры:**

model_index (`list[dict[str, Any]]`) : структура данных индекса модели, вероятно, полученная из файла README.md на Hugging Face Hub.

**Возвращает:** model_name (`str`)

Название модели, указанное в индексе моделей. Используется в качестве идентификатора модели на лидербордах, таких как PapersWithCode. eval_results (`list[EvalResult]`): список объектов `huggingface_hub.EvalResult`, содержащих метрики, указанные в предоставленном model_index.

Принимает индекс модели и возвращает имя модели и список объектов `huggingface_hub.EvalResult`.

Подробная спецификация индекса модели доступна здесь: https://github.com/huggingface/hub-docs/blob/main/modelcard.md?plain=1

Пример:
```python
>>> from huggingface_hub.repocard_data import model_index_to_eval_results
>>> # Define a minimal model index
>>> model_index = [
...     {
...         "name": "my-cool-model",
...         "results": [
...             {
...                 "task": {
...                     "type": "image-classification"
...                 },
...                 "dataset": {
...                     "type": "beans",
...                     "name": "Beans"
...                 },
...                 "metrics": [
...                     {
...                         "type": "accuracy",
...                         "value": 0.9
...                     }
...                 ]
...             }
...         ]
...     }
... ]
>>> model_name, eval_results = model_index_to_eval_results(model_index)
>>> model_name
'my-cool-model'
>>> eval_results[0].task_type
'image-classification'
>>> eval_results[0].metric_type
'accuracy'

```

### eval_results_to_model_index[[huggingface_hub.repocard_data.eval_results_to_model_index]]

#### huggingface_hub.repocard_data.eval_results_to_model_index[[huggingface_hub.repocard_data.eval_results_to_model_index]]

```python
huggingface_hub.repocard_data.eval_results_to_model_index(model_name: str, eval_results: list)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard_data.py#L681)

**Параметры:**

model_name (`str`) : Название модели (например, "my-cool-model"). Используется в качестве идентификатора модели на лидербордах, таких как PapersWithCode.

eval_results (`list[EvalResult]`) : Список объектов `huggingface_hub.EvalResult`, содержащих метрики, которые будут указаны в model-index.

**Возвращает:** model_index (`list[dict[str, Any]]`)

eval_results, преобразованные в model-index.

Принимает указанное имя модели и список `huggingface_hub.EvalResult` и возвращает корректный model-index, совместимый с форматом, ожидаемым Hugging Face Hub.

Пример:
```python
>>> from huggingface_hub.repocard_data import eval_results_to_model_index, EvalResult
>>> # Define minimal eval_results
>>> eval_results = [
...     EvalResult(
...         task_type="image-classification",  # Required
...         dataset_type="beans",  # Required
...         dataset_name="Beans",  # Required
...         metric_type="accuracy",  # Required
...         metric_value=0.9,  # Required
...     )
... ]
>>> eval_results_to_model_index("my-cool-model", eval_results)
[{'name': 'my-cool-model', 'results': [{'task': {'type': 'image-classification'}, 'dataset': {'name': 'Beans', 'type': 'beans'}, 'metrics': [{'type': 'accuracy', 'value': 0.9}]}]}]

```

### metadata_eval_result[[huggingface_hub.metadata_eval_result]]

#### huggingface_hub.metadata_eval_result[[huggingface_hub.metadata_eval_result]]

```python
huggingface_hub.metadata_eval_result(model_pretty_name: str, task_pretty_name: str, task_id: str, metrics_pretty_name: str, metrics_id: str, metrics_value: typing.Any, dataset_pretty_name: str, dataset_id: str, metrics_config: str | None = None, metrics_verified: bool = False, dataset_config: str | None = None, dataset_split: str | None = None, dataset_revision: str | None = None, metrics_verification_token: str | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L560)

**Параметры:**

model_pretty_name (`str`) : Название модели на естественном языке.

task_pretty_name (`str`) : Название задачи на естественном языке.

task_id (`str`) : Пример: automatic-speech-recognition. Идентификатор задачи.

metrics_pretty_name (`str`) : Название метрики на естественном языке. Пример: Test WER.

metrics_id (`str`) : Пример: wer. Идентификатор метрики с https://hf.co/metrics.

metrics_value (`Any`) : значение метрики. Пример: 20.0 или "20.0 ± 1.2".

dataset_pretty_name (`str`) : Название набора данных на естественном языке.

dataset_id (`str`) : Пример: common_voice. Идентификатор набора данных с https://hf.co/datasets.

metrics_config (`str`, *необязательный*) : Имя конфигурации метрики, используемой в `load_metric()`. Пример: bleurt-large-512 в `load_metric("bleurt", "bleurt-large-512")`.

metrics_verified (`bool`, *необязательный*, по умолчанию `False`) : Указывает, происходят ли метрики из [сервиса оценки](https://huggingface.co/spaces/autoevaluate/model-evaluator) Hugging Face или нет. Вычисляется автоматически Hugging Face, не устанавливайте вручную.

dataset_config (`str`, *необязательный*) : Пример: fr. Имя конфигурации набора данных, используемой в `load_dataset()`.

dataset_split (`str`, *необязательный*) : Пример: test. Имя разбиения набора данных, используемого в `load_dataset()`.

dataset_revision (`str`, *необязательный*) : Пример: 5503434ddd753f426f4b38109466949a1217c2bb. Имя ревизии набора данных, используемой в `load_dataset()`.

metrics_verification_token (`bool`, *необязательный*) : JSON Web Token, используемый для проверки, исходят ли метрики из [сервиса оценки](https://huggingface.co/spaces/autoevaluate/model-evaluator) Hugging Face.

**Возвращает:** `dict`

словарь метаданных с результатом модели, оцененной на наборе данных.

Создаёт словарь метаданных с результатом оценки модели на наборе данных.

Пример:
```python
>>> from huggingface_hub import metadata_eval_result
>>> results = metadata_eval_result(
...         model_pretty_name="RoBERTa fine-tuned on ReactionGIF",
...         task_pretty_name="Text Classification",
...         task_id="text-classification",
...         metrics_pretty_name="Accuracy",
...         metrics_id="accuracy",
...         metrics_value=0.2662102282047272,
...         dataset_pretty_name="ReactionJPEG",
...         dataset_id="julien-c/reactionjpeg",
...         dataset_config="default",
...         dataset_split="test",
... )
>>> results == {
...     'model-index': [
...         {
...             'name': 'RoBERTa fine-tuned on ReactionGIF',
...             'results': [
...                 {
...                     'task': {
...                         'type': 'text-classification',
...                         'name': 'Text Classification'
...                     },
...                     'dataset': {
...                         'name': 'ReactionJPEG',
...                         'type': 'julien-c/reactionjpeg',
...                         'config': 'default',
...                         'split': 'test'
...                     },
...                     'metrics': [
...                         {
...                             'type': 'accuracy',
...                             'value': 0.2662102282047272,
...                             'name': 'Accuracy',
...                             'verified': False
...                         }
...                     ]
...                 }
...             ]
...         }
...     ]
... }
True

```

### metadata_update[[huggingface_hub.metadata_update]]

#### huggingface_hub.metadata_update[[huggingface_hub.metadata_update]]

```python
huggingface_hub.metadata_update(repo_id: str, metadata: dict, repo_type: str | None = None, overwrite: bool = False, token: str | None = None, commit_message: str | None = None, commit_description: str | None = None, revision: str | None = None, create_pr: bool = False, parent_commit: str | None = None)
```

[Источник](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/repocard.py#L688)

**Параметры:**

repo_id (`str`) : Имя репозитория.

metadata (`dict`) : Словарь, содержащий метаданные, которые необходимо обновить.

repo_type (`str`, *необязательный*) : Установите значение `"dataset"` или `"space"` при обновлении до набора данных или пространства, `None` или `"model"` при обновлении до модели. По умолчанию — `None`.

overwrite (`bool`, *необязательный*, по умолчанию `False`) : Если установлено в `True`, существующее поле может быть перезаписано; в противном случае попытка перезаписать существующее поле приведёт к ошибке.

token (`str`, *необязательный*) : Токен аутентификации Hugging Face.

commit_message (`str`, *необязательный*) : Сводка / заголовок / первая строка создаваемого коммита. По умолчанию `f"Update metadata with huggingface_hub"`

commit_description (`str`, *необязательный*) : Описание созданного коммита

revision (`str`, *необязательный*) : git-ревизия, от которой выполняется коммит. По умолчанию используется head ветки `"main"`.

create_pr (`boolean`, *необязательный*) : Создавать ли Pull Request из `revision` с этим коммитом. По умолчанию `False`.

parent_commit (`str`, *optional*) : OID / SHA родительского коммита в виде шестнадцатеричной строки. Поддерживаются сокращения (первые 7 символов). Если указано и `create_pr` равно `False`, коммит завершится ошибкой, если `revision` не указывает на `parent_commit`. Если указано и `create_pr` равно `True`, pull request будет создан из `parent_commit`. Указание `parent_commit` гарантирует, что репозиторий не изменился перед коммитом изменений, что особенно полезно, если репозиторий обновляется / коммитится параллельно.

**Возвращает:** `str`

URL коммита, в котором были обновлены метаданные карточки.

Обновляет метаданные в файле README.md репозитория на Hugging Face Hub. Если файл README.md ещё не существует, создаётся новый с метаданными и шаблоном ModelCard или DatasetCard по умолчанию. Для репозитория типа `space` выбрасывается ошибка, так как Space не может существовать без файла `README.md`.

Пример:
```python
>>> from huggingface_hub import metadata_update
>>> metadata = {'model-index': [{'name': 'RoBERTa fine-tuned on ReactionGIF',
...             'results': [{'dataset': {'name': 'ReactionGIF',
...                                      'type': 'julien-c/reactiongif'},
...                           'metrics': [{'name': 'Recall',
...                                        'type': 'recall',
...                                        'value': 0.7762102282047272}],
...                          'task': {'name': 'Text Classification',
...                                   'type': 'text-classification'}}]}]}
>>> url = metadata_update("hf-internal-testing/reactiongif-roberta-card", metadata)

```

