受限数据集
为了更好地控制数据集的使用方式,Hub 允许数据集作者为其数据集启用 **访问请求**。当启用访问请求时,用户必须同意与数据集作者共享其联系信息(用户名和电子邮件地址)才能访问数据集文件。数据集作者可以使用其他字段配置此请求。启用访问请求的数据集称为 **受限数据集**。访问请求始终授予单个用户,而不是整个组织。受限数据集的一个常见用例是在更广泛发布之前提供对早期研究数据集的访问权限。
作为数据集作者管理受限数据集
要启用访问请求,请转到数据集设置页面。默认情况下,数据集不受限制。点击右上角的 **启用访问请求**。
默认情况下,在请求访问数据集时,会自动授予用户访问权限。这被称为 **自动批准**。在这种模式下,任何用户只要与您分享其个人信息,就可以访问您的数据集。
如果您想手动批准哪些用户可以访问您的数据集,则必须将其设置为 **手动批准**。在这种情况下,您会注意到更多选项
- **添加访问权限** 允许您搜索用户并授予其访问权限,即使他们没有请求访问权限。
- **通知频率** 允许您配置在有新用户请求访问权限时收到通知的时间。可以设置为每天一次或实时。默认情况下,电子邮件将发送到您的主要电子邮件地址。对于在组织下托管的数据集,电子邮件默认情况下会发送到组织的前 5 位管理员。在这两种情况下(用户或组织),您可以在 **通知电子邮件** 字段中设置不同的电子邮件地址。
审核访问请求
启用访问请求后,您可以完全控制谁可以访问您的数据集,以及批准模式是手动还是自动。您可以从 UI 或通过 API 审核和管理请求。
从 UI
您可以通过点击 **审核访问请求** 按钮,从其设置页面审核谁可以访问您的受限数据集。这将打开一个包含 3 个用户列表的模态框
- **待处理**:等待批准访问您数据集的用户列表。除非您选择了 **手动批准**,否则此列表为空。您可以 **接受** 或 **拒绝** 请求。如果请求被拒绝,用户将无法访问您的数据集,并且无法再次请求访问权限。
- **已接受**:访问您数据集的所有用户完整列表。您可以随时选择 **拒绝** 任何用户的访问权限,无论批准模式是手动还是自动。您也可以 **取消** 批准,这会将用户移至 待处理 列表。
- **已拒绝**:您手动拒绝的用户列表。这些用户无法访问您的数据集。如果他们转到您的数据集存储库,他们将看到一条消息 您访问此存储库的请求已被存储库作者拒绝。
通过 API
您可以使用 API 自动批准访问请求。您必须传递一个对受限存储库具有 write
访问权限的 token
。要生成令牌,请转到 您的用户设置。
方法 | URI | 描述 | 标头 | 有效负载 |
---|---|---|---|---|
GET | /api/datasets/{repo_id}/user-access-request/pending | 检索待处理请求列表。 | {"authorization": "Bearer $token"} | |
GET | /api/datasets/{repo_id}/user-access-request/accepted | 检索已接受请求列表。 | {"authorization": "Bearer $token"} | |
GET | /api/datasets/{repo_id}/user-access-request/rejected | 检索已拒绝请求列表。 | {"authorization": "Bearer $token"} | |
POST | /api/datasets/{repo_id}/user-access-request/handle | 将给定访问请求的状态更改为 status 。 | {"authorization": "Bearer $token"} | {"status": "accepted"/"rejected"/"pending", "user": "username"} |
POST | /api/datasets/{repo_id}/user-access-request/grant | 允许特定用户访问您的存储库。 | {"authorization": "Bearer $token"} | {"user": "username"} |
以上 HTTP 终结点的基本 URL 是 https://huggingface.co
。
最新! 这些终结点现在在我们的 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
授予用户访问权限。
下载访问报告
您可以通过“下载用户访问报告”按钮下载受限数据集所有访问请求的报告。点击它下载包含用户列表的 json 文件。每个条目都有
- user: 用户 ID。例如:julien-c。
- fullname: 用户在 Hub 上的姓名。例如:Julien Chaumond。
- status: 请求状态。可以是
"pending"
、"accepted"
或"rejected"
。 - email: 用户的电子邮件。
- time: 用户最初提出请求的日期时间。
自定义请求信息
默认情况下,访问受限数据集的用户需要点击“同意并发送访问仓库请求”按钮来共享他们的联系信息(电子邮件和用户名)。
如果您想请求更多用户信息才能提供访问权限,您可以配置其他字段。这些信息可以在“设置”标签页访问。为此,请在您的 数据集卡片元数据 中添加一个 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"
---
作为用户访问受限数据集
作为用户,如果您想使用受限数据集,您需要申请访问它。这意味着您必须登录 Hugging Face 用户帐户。
访问请求只能在浏览器中进行。在 Hub 上访问该数据集,您将被提示分享您的信息
点击“同意”,表示您同意与数据集作者共享您的用户名和电子邮件地址。在某些情况下,可能会要求您提供其他字段。为了帮助数据集作者决定是否授予您访问权限,请尽可能完整地填写表格。
发送访问请求后,有两种可能的结果。如果批准机制是自动的,您将立即获得对数据集文件的访问权限。否则,请求需要由作者手动批准,这可能需要更多时间。
数据集作者对数据集访问拥有完全控制权。特别是,他们可以随时决定阻止您访问数据集,而无需事先通知,无论批准机制如何,或者您的请求是否已获批准。
下载文件
要从受限数据集下载文件,您需要进行身份验证。在浏览器中,只要您使用您的帐户登录,这就会自动进行。如果您使用脚本,您需要提供一个 用户令牌。在 Hugging Face Python 生态系统(transformers
、diffusers
、datasets
等)中,您可以使用 huggingface_hub
库在您的终端中运行以下命令来登录您的机器
huggingface-cli login
或者,您也可以在笔记本或脚本中使用 login()
以编程方式登录
>>> from huggingface_hub import login
>>> login()
您也可以直接从脚本中,在库的大多数加载方法(from_pretrained
、hf_hub_download
、load_dataset
等)中提供 token
参数。
有关如何登录的更多详细信息,请查看 登录指南。
< > 在 GitHub 上更新