Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

门控模型

为了更好地控制模型的使用方式,Hub 允许模型作者为其模型启用访问请求。启用后,用户必须同意与模型作者共享其联系信息(用户名和电子邮件地址)才能访问模型文件。模型作者可以使用其他字段配置此请求。启用访问请求的模型称为门控模型。访问请求始终授予个人用户,而不是整个组织。门控模型的常见用例是在更广泛发布之前提供对早期研究模型的访问。

以模型作者身份管理门控模型

要启用访问请求,请转到模型设置页面。默认情况下,模型未被门控。单击右上角的启用访问请求

默认情况下,当用户请求访问模型时,将自动授予其访问权限。这称为自动批准。在这种模式下,任何用户在与您共享其个人信息后都可以访问您的模型。

如果您想手动批准哪些用户可以访问您的模型,则必须将其设置为手动批准。在这种情况下,您会注意到更多选项

  • 添加访问权限允许您搜索用户并授予他们访问权限,即使他们没有请求访问权限也是如此。
  • 通知频率允许您配置在新用户请求访问时何时收到通知。可以设置为每天一次或实时。默认情况下,电子邮件会发送到您的主要电子邮件地址。对于组织托管的模型,默认情况下,电子邮件会发送给组织的前 5 位管理员。在这两种情况下(用户或组织),您都可以在通知电子邮件字段中设置不同的电子邮件地址。

审查访问请求

启用访问请求后,无论批准模式是手动还是自动,您都可以完全控制谁可以访问您的模型。您可以从 UI 或通过 API 审查和管理请求。

从 UI

您可以从其设置页面通过单击审查访问请求按钮来查看谁有权访问您的门控模型。这将打开一个包含 3 个用户列表的模态框

  • 待处理:等待批准访问您的模型的用户列表。除非您选择了手动批准,否则此列表为空。您可以接受拒绝请求。如果请求被拒绝,用户将无法访问您的模型,并且无法再次请求访问。
  • 已接受:有权访问您的模型的用户的完整列表。无论批准模式是手动还是自动,您都可以随时选择拒绝任何用户的访问权限。您也可以取消批准,这将把用户移动到待处理列表。
  • 已拒绝:您手动拒绝的用户列表。这些用户无法访问您的模型。如果他们访问您的模型存储库,他们将看到一条消息您访问此存储库的请求已被存储库作者拒绝

通过 API

您可以使用 API 自动化访问请求的批准。您必须传递一个具有对门控存储库的写入权限的 token。要生成令牌,请转到您的用户设置

方法 URI 描述 标头 有效负载
GET /api/models/{repo_id}/user-access-request/pending 检索待处理请求的列表。 {"authorization": "Bearer $token"}
GET /api/models/{repo_id}/user-access-request/accepted 检索已接受请求的列表。 {"authorization": "Bearer $token"}
GET /api/models/{repo_id}/user-access-request/rejected 检索已拒绝请求的列表。 {"authorization": "Bearer $token"}
POST /api/models/{repo_id}/user-access-request/handle 将给定访问请求的状态更改为 status {"authorization": "Bearer $token"} {"status": "accepted"/"rejected"/"pending", "user": "username", "rejectionReason": "可选的拒绝理由,用户可见(最多 200 个字符)。"}
POST /api/models/{repo_id}/user-access-request/grant 允许特定用户访问您的存储库。 {"authorization": "Bearer $token"} {"user": "username"}

上述 HTTP 端点的基本 URL 是 https://huggingface.co

最新消息!这些端点现在已在我们的 Python 客户端 huggingface_hub 中获得官方支持。使用 list_pending_access_requestslist_accepted_access_requestslist_rejected_access_requests 列出对您的模型的访问请求。您还可以使用 accept_access_requestcancel_access_requestreject_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 model 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 model for:
    type: select
    options: 
      - Research
      - Education
      - label: Other
        value: other
  I agree to use this model for non-commercial use ONLY: checkbox
---

在某些情况下,您可能还想修改门控标题、描述和按钮中的默认文本。对于这些用例,您可以像这样修改 extra_gated_headingextra_gated_descriptionextra_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"
---

以编程方式管理访问请求的用例示例

以下是一些有趣的以编程方式管理门控存储库的访问请求的用例,我们已经看到它们在社区中自然而然地出现。提醒一下,模型存储库需要设置为手动批准,否则用户将自动获得访问权限。

以编程方式管理可能的用例包括

  • 如果您有高级用户请求筛选要求(对于高级合规性要求等)或者您希望在 Hub 外部处理用户请求。
    • Meta 的 Llama 2 初始版本就是一个例子,用户必须在 Meta 网站上请求访问权限。
    • 您可以在您的访问流程中要求用户提供他们的 HF 用户名,然后使用脚本根据您设置的条件以编程方式接受 Hub 上的用户请求。
  • 如果您想根据完成付款流程来限制对模型的访问(请注意,实际付款流程发生在 Hub 之外)。

以组织(企业版 Hub)身份管理门控模型

企业版 Hub 订阅者可以创建一个门控组集合,以一次性授予(或拒绝)对集合中所有模型和数据集的访问权限。

有关门控组集合的更多信息,请参阅我们的专用文档

以用户身份访问受限模型

作为用户,如果您想使用受限模型,您需要请求访问权限。 这意味着您必须登录 Hugging Face 用户帐户。

只能通过浏览器请求访问权限。 转到 Hub 上的模型,系统将提示您分享您的信息。

通过单击“同意”,您同意与模型作者分享您的用户名和电子邮件地址。 在某些情况下,可能会要求提供其他字段。 为了帮助模型作者决定是否授予您访问权限,请尽量完整地填写表格。

发送访问请求后,有两种可能性。 如果审批机制是自动的,您将立即获得模型文件的访问权限。 否则,请求必须由作者手动批准,这可能需要更多时间。

模型作者对模型访问拥有完全控制权。 特别是,他们可以随时阻止您访问模型,恕不另行通知,无论审批机制如何,或者您的请求是否已被批准。

下载文件

要从受限模型下载文件,您需要进行身份验证。 在浏览器中,只要您使用帐户登录,这就是自动的。 如果您正在使用脚本,您需要提供 用户令牌。 在 Hugging Face Python 生态系统(transformersdiffusersdatasets 等)中,您可以使用 huggingface_hub 库并在终端中运行来登录您的机器。

huggingface-cli login

或者,您可以使用 notebook 或脚本中的 login() 以编程方式登录。

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

您还可以直接从脚本中将 token 参数提供给库中的大多数加载方法(from_pretrainedhf_hub_downloadload_dataset 等)。

有关如何登录的更多详细信息,请查看登录指南

< > 在 GitHub 上更新