Hub documentation

Датасеты с ограниченным доступом

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Датасеты с ограниченным доступом

Чтобы предоставить больше контроля над использованием наборов данных, Hub позволяет авторам наборов данных включать запросы на доступ к своим наборам данных. При включении этой функции пользователям необходимо отправлять запрос на доступ к файлам набора данных, который передает их информацию Hugging Face (имя пользователя и адрес электронной почты) авторам набора данных, если авторы не отказались от ее сбора. Авторы наборов данных также могут добавлять пользовательские поля. Набор данных с включенными запросами на доступ называется набором данных с ограниченным доступом. Запросы на доступ всегда выдаются отдельным пользователям, а не целым организациям. Распространенный сценарий использования наборов данных с ограниченным доступом — предоставление доступа к ранним исследовательским наборам данных до их широкого выпуска.

Управление закрытыми наборами данных в качестве автора

Чтобы включить запросы на доступ, перейдите на страницу настроек набора данных. По умолчанию набор данных не защищён. Нажмите Enable Access request в правом верхнем углу.

По умолчанию доступ к набору данных автоматически предоставляется пользователю при его запросе. Это называется автоматическим одобрением. В этом режиме любой пользователь может получить доступ к вашему набору данных, как только он передаст вам свои персональные данные.

Если вы хотите вручную одобрять пользователей, которым разрешён доступ к вашему набору данных, установите значение manual approval. В этом случае вы увидите дополнительные параметры:

  • Добавить доступ позволяет найти пользователя и предоставить ему доступ, даже если он не подавал запрос.
  • Параметр Notification frequency позволяет настроить, когда вы будете получать уведомления о новых запросах на доступ. Можно выбрать отправку раз в день или в реальном времени. По умолчанию письмо отправляется на ваш основной адрес электронной почты. Для наборов данных, размещённых в организации, по умолчанию письма отправляются первым 5 администраторам организации. В обоих случаях (пользователь или организация) вы можете указать другой адрес электронной почты в поле Notifications email.

Обзор запросов на доступ

После включения запросов на доступ вы получаете полный контроль над тем, кто может получить доступ к вашему набору данных, независимо от того, используется ли ручной или автоматический режим одобрения. Просматривать и управлять запросами можно как через интерфейс, так и через API.

Из интерфейса

Вы можете просмотреть, у кого есть доступ к вашему датасету с ограниченным доступом, на странице его настроев, нажав кнопку Review access requests. Откроется модальное окно со списками пользователей:

  • pending: список пользователей, ожидающих одобрения доступа к вашему набору данных. Этот список пуст, если вы не выбрали manual approval. Вы можете Accept или Reject запрос. Если запрос отклонён, пользователь не сможет получить доступ к вашему набору данных и не сможет отправить запрос повторно.
  • accepted: полный список пользователей, имеющих доступ к вашему набору данных. Вы можете в любой момент Reject доступ для любого пользователя, независимо от того, установлен ли ручной или автоматический режим одобрения. Также вы можете Cancel одобрение, что переместит пользователя в список pending.
  • rejected: список пользователей, которых вы вручную отклонили. Эти пользователи не могут получить доступ к вашим наборам данных. Если они перейдут в репозиторий вашего набора данных, они увидят сообщение Ваш запрос на доступ к этому репозиторию был отклонен авторами репозитория.

Через API

Вы можете автоматизировать одобрение запросов на доступ с помощью API. Необходимо передать token с правами write на репозиторий с ограниченным доступом. Чтобы создать токен, перейдите в настройки вашего пользователя.

МетодURIОписаниеЗаголовкиПараметры
GET/api/datasets/{repo_id}/user-access-request/{status}Перечислите запросы с указанным status: pending, accepted, rejected или reset. Каждый запрос имеет requestId, а также user, если имя пользователя было собрано.{"authorization": "Bearer $token"}
POST/api/datasets/{repo_id}/user-access-request/handleИзмените статус данного запроса на доступ на status.{"authorization": "Bearer $token"}{"status": "accepted"/"rejected"/"pending"/"reset", "user": "username" (or "requestId": "request id"), "rejectionReason": "Optional rejection reason that will be visible to the user (max 200 characters).", "resetReason": "Optional reset reason that will be included in the email sent to the user (max 200 characters)."}
POST/api/datasets/{repo_id}/user-access-request/grantРазрешить конкретному пользователю доступ к вашему репозиторию.{"authorization": "Bearer $token"}{"user": "username"}

Базовый URL для указанных выше HTTP-эндпоинтов — https://huggingface.co.

Установка значения reset для запроса отменяет предыдущее решение и требует от пользователя начать заново: он теряет доступ к набору данных, получает электронное письмо с уведомлением о сбросе запроса (включая необязательное поле resetReason) и при следующем посещении страницы набора данных будет вынужден согласиться с условиями доступа и отправить новый запрос. Это отличается от pending, который сохраняет существующий запрос без изменений и просто возвращает его в очередь на проверку, и от rejected, который блокирует повторное запрос доступа пользователем.

НОВОЕ! Теперь эти эндпоинты официально поддерживаются в нашем Python-клиенте huggingface_hub. Просмотреть запросы на доступ к вашему датасету можно с помощью list_pending_access_requests, list_accepted_access_requests и list_rejected_access_requests. Также вы можете принимать, отменять и отклонять запросы на доступ с помощью accept_access_request, cancel_access_request, reject_access_request. Наконец, вы можете предоставить пользователю доступ с помощью grant_access.

Скачать отчет об доступе

Вы можете скачать отчёт со всеми запросами на доступ к закрытым наборам данных с помощью кнопки download user access report. Нажмите на неё, чтобы скачать файл json со списком пользователей. Для каждой записи вы получаете:

  • requestId: идентификатор запроса.
  • user: идентификатор пользователя. Пример: julien-c.
  • fullname: имя пользователя на Hub. Пример: Julien Chaumond.
  • status: статус запроса. Может принимать значения "pending", "accepted", "rejected" или "reset".
  • email: адрес электронной почты пользователя.
  • time: дата и время, когда пользователь впервые отправил запрос.
  • reviewedAt: дата и время, когда запрос был принят или отклонён. Для ожидающих запросов не задано.

user, fullname и email присутствуют только в том случае, если вы выбрали собрать их при отправке запроса. Запросы всегда можно идентифицировать по их requestId.

Выберите, какие данные профиля Hugging Face делится с вами

По умолчанию Hugging Face передаёт вам имя пользователя и основной адрес электронной почты запрашивающего. Вы несёте ответственность за обработку любых персональных данных (PII) и раскрытие информации о том, как вы их обрабатываете, в соответствии с применимым законодательством (например, путём ссылки на вашу собственную Политику конфиденциальности). Вы можете изменить это в параметрах ограничения доступа на странице настроек набора данных:

  • Собрать имя пользователя: если снять этот флажок, вы не получите имя пользователя Hugging Face, полное имя и аватар отправителя запроса. Запросы отображаются с идентификатором запроса и могут быть приняты или отклонены, как и любой другой запрос.
  • Сбор адреса электронной почты: сбор адреса электронной почты профиля Hugging Face запрашивающего пользователя. Требует Сбора имени пользователя.

Вы по-прежнему получаете ответы на ваши пользовательские поля формы, поэтому можете запрашивать там любые необходимые контактные данные. Эти настройки применяются только к новым запросам: существующие запросы сохраняют настройки, действовавшие на момент их создания.

Для наборов данных в Gating Group Collection эти параметры настраиваются на уровне коллекции.

Настройка запрашиваемой информации

By default, users landing on your gated dataset will be asked to share their Hugging Face information (email and username, unless you disabled their collection) by clicking the Agree and send request to access repo button.

Если вы хотите запросить дополнительные сведения о пользователе для предоставления доступа, вы можете настроить дополнительные поля. Эта информация будет доступна на вкладке Settings. Для этого добавьте свойство extra_gated_fields в метаданные карточки датасета, содержащее список пар ключ/значение. Ключ — это имя поля, а значение — его тип или объект с полем type. Список типов полей:

  • text: однострочное текстовое поле.
  • checkbox: поле с флажком.
  • date_picker: поле выбора даты.
  • country: выпадающий список стран. Список стран основан на стандарте ISO 3166-1 alpha-2.
  • select: выпадающий список с перечнем вариантов. Перечень вариантов определяется в поле options. Пример: options: ["option 1", "option 2", {label: "option3", value: "opt3"}].

Наконец, вы также можете настроить сообщение, отображаемое пользователю, с помощью дополнительного поля extra_gated_prompt.

Ниже приведен пример пользовательской формы запроса, в которой пользователя просят указать название компании и страну, а также подтвердить, что набор данных предназначен только для некоммерческого использования.

---
extra_gated_prompt: "You agree to not use the dataset to conduct experiments that cause harm to human subjects."
extra_gated_fields:
  Company: text
  Country: country
  Specific date: date_picker
  I want to use this dataset for:
    type: select
    options: 
      - Research
      - Education
      - label: Other
        value: other
  I agree to use this dataset for non-commercial use ONLY: checkbox
---

В некоторых случаях вы также можете захотеть изменить текст по умолчанию в заголовке, описании и кнопке гейта. Для таких сценариев вы можете изменить extra_gated_heading, extra_gated_description и extra_gated_button_content следующим образом:

---
extra_gated_heading: "Acknowledge license to accept the repository"
extra_gated_description: "Our team may take 2-3 days to process your request"
extra_gated_button_content: "Acknowledge license"
---

Доступ к гейту для членов организации

Для датасетов с ограниченным доступом, размещённых в организации, можно также потребовать, чтобы сами участники организации подавали запрос на доступ. На странице настроек датасета, в разделе параметров ограничения доступа, включите опцию Также ограничивать доступ для участников {org}.

Когда этот параметр включен, участники организации должны запрашивать доступ к набору данных, как и любые другие пользователи. Следующие роли обходят запрос и сохраняют прямой доступ:

  • Администраторы организации
  • Пользователь, создавший репозиторий
  • администраторы группы ресурсов, если набор данных принадлежит группе ресурсов

Все остальные участники должны пройти процесс запроса доступа. Это касается участников с ролью read, contributor или write в организации, а также участников группы ресурсов без роли admin.

Управление закрытыми наборами данных от имени организации (Team & Enterprise)

Подписчики Team & Enterprise могут создать Gating Group Collection, чтобы предоставить (или отказать) доступ ко всем моделям и наборам данных в коллекции одним действием.

Подробнее о Gating Group Collections можно узнать в нашей специальной документации.

Доступ к закрытым наборам данных от имени пользователя

Если вы хотите использовать датасет с ограниченным доступом, вам необходимо запросить к нему доступ. Это означает, что вы должны быть авторизованы в аккаунте Hugging Face.

Запросить доступ можно только из браузера. Перейдите к набору данных на Hub, и вам будет предложено предоставить свои данные:

Нажимая Agree, вы соглашаетесь на передачу авторам набора данных информации, которую вы вводите в форму запроса (если это применимо), а также вашего имени пользователя и адреса электронной почты в Hugging Face, если авторы решили их собирать. Чтобы помочь авторам набора данных принять решение о предоставлении вам доступа, постарайтесь заполнить все поля формы как можно полнее.

После отправки запроса на доступ возможны два варианта. Если механизм одобрения автоматический, вы сразу получаете доступ к файлам набора данных. В противном случае запросы должны быть одобрены вручную авторами, что может занять больше времени.

Авторы набора данных имеют полный контроль над доступом к нему. В частности, они могут в любой момент заблокировать ваш доступ к набору данных без предварительного уведомления, независимо от механизма согласования или того, было ли ваше запрос уже одобрено.

Загрузка файлов

Чтобы скачать файлы из датасета с ограниченным доступом, требуется аутентификация. В браузере это происходит автоматически, если вы вошли в свой аккаунт. Если вы используете скрипт, вам нужно предоставить токен пользователя. В экосистеме Python Hugging Face (transformers, diffusers, datasets и т. д.) вы можете выполнить вход на своем устройстве с помощью библиотеки huggingface_hub, запустив в терминале:

hf auth login

В качестве альтернативы вы можете выполнить вход в систему программно с помощью login() в ноутбуке или скрипте:

>>> from huggingface_hub import login
>>> login()

Вы также можете передать параметр token в большинство методов загрузки в библиотеках (from_pretrained, hf_hub_download, load_dataset и т. д.) непосредственно из своих скриптов.

Для получения подробной информации о том, как войти в систему, ознакомьтесь с руководством по входу.

Ограничение доступа для пользователей из ЕС

Для датасетов с ограниченным доступом можно добавить дополнительный уровень контроля доступа, чтобы конкретно ограничить пользователей из стран Европейского союза. Это полезно, если лицензия или условия использования вашего датасета запрещают его распространение в ЕС.

Чтобы включить эту функцию, добавьте свойство extra_gated_eu_disallowed: true в метаданные карточки вашего набора данных.

Важно: Эта функция будет активирована только в том случае, если ваш датасет уже имеет статус gated. Если gated: false или это свойство не задано, данное ограничение не будет применяться.

---
license: mit
gated: true
extra_gated_eu_disallowed: true
---

Система определяет местоположение пользователя на основе его IP-адреса.

Update on GitHub