Hub 文件
門控模型
並獲得增強的文件體驗
開始使用
門控模型
為了更好地控制模型的使用方式,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_requests`、`list_accepted_access_requests` 和 `list_rejected_access_requests` 列出您的模型的訪問請求。您還可以使用 `accept_access_request`、`cancel_access_request` 和 `reject_access_request` 接受、取消和拒絕訪問請求。最後,您可以使用 `grant_access` 授予使用者訪問許可權。
下載訪問報告
您可以使用**下載使用者訪問報告**按鈕下載門控模型的所有訪問請求報告。單擊該按鈕可下載一個 JSON 檔案,其中包含使用者列表。每個條目包含:
- **使用者**:使用者 ID。示例:*julien-c*。
- **全名**:Hub 上的使用者名稱稱。示例:*Julien Chaumond*。
- **狀態**:請求的狀態。可以是`"pending"`、`"accepted"`或`"rejected"`。
- **電子郵件**:使用者的電子郵件地址。
- **時間**:使用者最初提出請求的日期時間。
自定義請求資訊
預設情況下,使用者訪問您的門控模型時,系統會要求他們透過單擊**同意併發送請求以訪問倉庫**按鈕來共享其聯絡資訊(電子郵件和使用者名稱)。


如果您想收集更多使用者資訊,可以配置其他欄位。此資訊將可在**設定**選項卡中訪問。為此,請向您的模型卡元資料新增一個 `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_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"
---
程式化管理訪問請求的示例用例
以下是一些程式化管理門控倉庫訪問請求的有趣用例,這些用例是社群中自然出現的。提醒一下,模型倉庫需要設定為手動批准,否則使用者將自動獲得訪問許可權。
程式化管理的可能用例包括:
- 如果您有高階使用者請求篩選要求(例如高階合規要求),或者您希望在 Hub 之外處理使用者請求。
- 例如 Meta 的 Llama 2 初次釋出,使用者必須在 Meta 網站上請求訪問許可權。
- 您可以在您的訪問流程中向用戶詢問他們的 HF 使用者名稱,然後使用指令碼根據您的條件程式化地接受 Hub 上的使用者請求。
- 如果您希望根據完成支付流程來限制模型訪問(請注意,實際的支付流程發生在 Hub 之外)。
- 這是一個來自 TrelisResearch 的示例倉庫,它使用了此用例。
- @RonanMcGovern 釋出了一個關於流程的影片和如何實現它的技巧。
作為組織管理門控模型(企業中心)
企業中心訂閱者可以建立一個門控組集合,一次性授予(或拒絕)對集合中所有模型和資料集的訪問許可權。
有關門控組集合的更多資訊,請參閱我們的專用文件。
作為使用者訪問門控模型
作為使用者,如果您想使用門控模型,則需要請求訪問許可權。這意味著您必須登入 Hugging Face 使用者帳戶。
請求訪問只能透過您的瀏覽器完成。轉到 Hub 上的模型,系統將提示您共享您的資訊


點選**同意**,即表示您同意與模型作者分享您的使用者名稱和電子郵件地址。在某些情況下,可能會請求額外欄位。為了幫助模型作者決定是否授予您訪問許可權,請儘量完整填寫表格。
訪問請求傳送後,有兩種可能性。如果審批機制是自動的,您將立即獲得模型檔案訪問許可權。否則,請求必須由作者手動批准,這可能需要更多時間。
模型作者對模型訪問具有完全控制權。特別是,無論審批機制如何,或者您的請求是否已獲批准,他們都可以隨時決定阻止您訪問模型,恕不另行通知。
下載檔案
要從門控模型下載檔案,您需要進行身份驗證。在瀏覽器中,只要您已登入帳戶,這將是自動的。如果您正在使用指令碼,則需要提供使用者令牌。在 Hugging Face Python 生態系統(`transformers`、`diffusers`、`datasets` 等)中,您可以使用`huggingface_hub`庫並在您的終端中執行來登入您的機器
hf auth login
或者,您可以在筆記本或指令碼中使用 `login()` 程式化登入
>>> from huggingface_hub import login
>>> login()
您還可以將 `token` 引數直接從指令碼提供給庫中的大多數載入方法(`from_pretrained`、`hf_hub_download`、`load_dataset` 等)。
有關如何登入的更多詳細資訊,請檢視登入指南。
< > 在 GitHub 上更新