Hub documentation
Bộ dữ liệu có kiểm soát
Bộ dữ liệu có kiểm soát
Để cung cấp nhiều quyền kiểm soát hơn về cách các tập dữ liệu được sử dụng, Hub cho phép các tác giả tập dữ liệu bật yêu cầu truy cập cho tập dữ liệu của họ. Khi được bật, người dùng phải gửi yêu cầu để truy cập các tệp dữ liệu, điều này sẽ chia sẻ thông tin Hugging Face của họ (tên người dùng và địa chỉ email) với các tác giả tập dữ liệu, trừ khi các tác giả đã chọn không thu thập thông tin này. Các tác giả tập dữ liệu cũng có thể thêm các trường tùy chỉnh. Một tập dữ liệu có bật yêu cầu truy cập được gọi là tập dữ liệu có cổng. Các yêu cầu truy cập luôn được cấp cho các người dùng cá nhân thay vì cho toàn bộ tổ chức. Một trường hợp sử dụng phổ biến của các tập dữ liệu có cổng là cung cấp quyền truy cập vào các tập dữ liệu nghiên cứu ban đầu trước khi phát hành rộng rãi.
Quản lý bộ dữ liệu có kiểm soát với tư cách là tác giả bộ dữ liệu
Để bật yêu cầu truy cập, hãy chuyển đến trang cài đặt của bộ dữ liệu. Mặc định, bộ dữ liệu không được bảo vệ. Nhấp vào Enable Access request ở góc trên bên phải.

Mặc định, quyền truy cập vào bộ dữ liệu được tự động cấp cho người dùng khi họ yêu cầu. Điều này được gọi là duyệt tự động. Ở chế độ này, bất kỳ người dùng nào cũng có thể truy cập bộ dữ liệu của bạn sau khi họ đã chia sẻ thông tin cá nhân với bạn.

Nếu bạn muốn tự động phê duyệt người dùng nào có thể truy cập bộ dữ liệu của mình, bạn phải đặt nó thành manual approval. Khi đó, bạn sẽ thấy nhiều tùy chọn hơn:
- Thêm quyền truy cập cho phép bạn tìm kiếm một người dùng và cấp quyền truy cập cho họ ngay cả khi họ chưa yêu cầu.
- Tần suất thông báo cho phép bạn cấu hình thời điểm nhận thông báo khi có người dùng mới yêu cầu quyền truy cập. Bạn có thể đặt là một lần mỗi ngày hoặc theo thời gian thực. Mặc định, một email sẽ được gửi đến địa chỉ email chính của bạn. Đối với các bộ dữ liệu được lưu trữ dưới một tổ chức, email mặc định sẽ được gửi đến 5 quản trị viên đầu tiên của tổ chức đó. Trong cả hai trường hợp (người dùng hoặc tổ chức), bạn có thể đặt một địa chỉ email khác trong trường Email thông báo.

Xem xét các yêu cầu truy cập
Khi các yêu cầu truy cập được bật, bạn có toàn quyền kiểm soát ai có thể truy cập dataset của mình hay không, bất kể chế độ phê duyệt là thủ công hay tự động. Bạn có thể xem xét và quản lý các yêu cầu từ giao diện người dùng hoặc qua API.
Từ giao diện người dùng
Bạn có thể xem ai có quyền truy cập vào bộ dữ liệu có kiểm soát của mình từ trang cài đặt bằng cách nhấp vào nút Review access requests. Thao tác này sẽ mở một hộp thoại chứa 3 danh sách người dùng:
- pending: danh sách người dùng đang chờ được phê duyệt để truy cập dataset của bạn. Danh sách này trống trừ khi bạn đã chọn manual approval. Bạn có thể Accept hoặc Reject yêu cầu. Nếu yêu cầu bị từ chối, người dùng sẽ không thể truy cập dataset của bạn và cũng không thể yêu cầu truy cập lại.
- accepted: danh sách đầy đủ các người dùng có quyền truy cập vào bộ dữ liệu của bạn. Bạn có thể Reject quyền truy cập vào bất kỳ lúc nào cho bất kỳ người dùng nào, bất kể chế độ phê duyệt là thủ công hay tự động. Bạn cũng có thể Cancel việc phê duyệt, điều này sẽ chuyển người dùng sang danh sách pending.
- rejected: danh sách người dùng mà bạn đã từ chối thủ công. Những người dùng này không thể truy cập các bộ dữ liệu của bạn. Nếu họ truy cập kho dữ liệu của bạn, họ sẽ thấy thông báo Your request to access this repo has been rejected by the repo’s authors.

Thông qua API
Bạn có thể tự động hóa việc phê duyệt các yêu cầu truy cập bằng cách sử dụng API. Bạn phải truyền một token có quyền write cho kho có kiểm soát. Để tạo token, hãy truy cập cài đặt người dùng của bạn.
| Phương pháp | URI | Mô tả | Tiêu đề | Payload |
|---|---|---|---|---|
GET | /api/datasets/{repo_id}/user-access-request/{status} | Liệt kê các yêu cầu có status được chỉ định: pending, accepted, rejected hoặc reset. Mỗi yêu cầu có một requestId, và một user nếu tên người dùng đã được thu thập. | {"authorization": "Bearer $token"} | |
POST | /api/datasets/{repo_id}/user-access-request/handle | Thay đổi trạng thái của một yêu cầu truy cập nhất định thành 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 | Cho phép một người dùng cụ thể truy cập kho của bạn. | {"authorization": "Bearer $token"} | {"user": "username"} |
URL gốc cho các điểm cuối HTTP ở trên là https://huggingface.co.
Đặt yêu cầu thành reset sẽ thu hồi quyết định trước đó và yêu cầu người dùng bắt đầu lại: họ mất quyền truy cập vào bộ dữ liệu, nhận được email thông báo rằng yêu cầu của họ đã được đặt lại (bao gồm resetReason tùy chọn), và sẽ được nhắc lại để đồng ý với các điều khoản kiểm soát và gửi một yêu cầu mới vào lần tiếp theo họ truy cập trang bộ dữ liệu. Điều này khác với pending, vốn giữ nguyên yêu cầu hiện có và chỉ đưa nó trở lại hàng đợi xem xét, và khác với rejected, vốn chặn người dùng khỏi việc yêu cầu quyền truy cập một lần nữa.
MỚI! Các endpoint này hiện đã được hỗ trợ chính thức trong client Python huggingface_hub của chúng tôi. Liệt kê các yêu cầu truy cập vào dataset của bạn bằng list_pending_access_requests, list_accepted_access_requests và list_rejected_access_requests. Bạn cũng có thể chấp nhận, hủy và từ chối các yêu cầu truy cập bằng accept_access_request, cancel_access_request, reject_access_request. Cuối cùng, bạn có thể cấp quyền truy cập cho một người dùng bằng grant_access.
Tải báo cáo truy cập
Bạn có thể tải xuống báo cáo về tất cả các yêu cầu truy cập đối với một dataset có kiểm soát bằng nút download user access report. Nhấp vào nút đó để tải xuống tệp json chứa danh sách người dùng. Với mỗi mục, bạn có:
- requestId: id của yêu cầu.
- user: id của người dùng. Ví dụ: julien-c.
- fullname: tên của người dùng trên Hub. Ví dụ: Julien Chaumond.
- status: trạng thái của yêu cầu. Là
"pending","accepted","rejected"hoặc"reset". - email: email của người dùng.
- time: thời điểm người dùng ban đầu thực hiện yêu cầu.
- reviewedAt: thời gian (datetime) khi yêu cầu được chấp nhận hoặc từ chối. Không được đặt cho các yêu cầu đang chờ xử lý.
user,fullnamevàrequestIdcủa chúng.
Chọn dữ liệu hồ sơ nào mà Hugging Face chia sẻ với bạn
Mặc định, Hugging Face chia sẻ tên người dùng và địa chỉ email chính của người yêu cầu với bạn. Bạn chịu trách nhiệm xử lý bất kỳ thông tin định danh cá nhân (PII) nào và công bố cách bạn xử lý thông tin đó theo các luật áp dụng (ví dụ bằng cách liên kết đến Chính sách Quyền riêng tư của bạn). Bạn có thể thay đổi điều này trong các tùy chọn gating trên trang cài đặt dataset:
- Thu thập tên người dùng: khi bỏ chọn, bạn sẽ không nhận được tên người dùng Hugging Face, họ tên đầy đủ và ảnh đại diện của người yêu cầu. Các yêu cầu được liệt kê với một id yêu cầu và có thể được chấp nhận hoặc từ chối như bất kỳ yêu cầu nào khác.
- Thu thập email: thu thập email hồ sơ Hugging Face của người yêu cầu. Yêu cầu Thu thập tên người dùng.
Bạn vẫn nhận được câu trả lời cho các trường biểu mẫu tùy chỉnh của mình, vì vậy bạn có thể yêu cầu bất kỳ thông tin liên hệ nào cần thiết ở đó. Các cài đặt này chỉ áp dụng cho các yêu cầu mới: các yêu cầu hiện có sẽ giữ nguyên cài đặt đã được thiết lập tại thời điểm chúng được tạo.
Đối với các bộ dữ liệu trong Gating Group Collection, các tùy chọn này được cấu hình trên bộ sưu tập.
Tùy chỉnh thông tin được yêu cầu
Mặc định, người dùng truy cập vào bộ dữ liệu có kiểm soát của bạn sẽ được yêu cầu chia sẻ thông tin Hugging Face của họ (email và tên người dùng, trừ khi bạn đã tắt việc thu thập) bằng cách nhấp vào nút Agree and send request to access repo.

Nếu bạn muốn yêu cầu thêm thông tin người dùng để cấp quyền truy cập, bạn có thể cấu hình các trường bổ sung. Thông tin này sẽ có thể truy cập từ tab Cài đặt. Để thực hiện, hãy thêm thuộc tính extra_gated_fields vào metadata thẻ dataset của bạn, chứa một danh sách các cặp khóa/giá trị. Khóa là tên của trường và giá trị là kiểu của nó hoặc một đối tượng có trường type. Danh sách các kiểu trường là:
text: một trường văn bản một dòng.checkbox: một trường hộp kiểm.date_picker: một trường chọn ngày.country: một menu thả xuống để chọn quốc gia. Danh sách các quốc gia dựa trên tiêu chuẩn ISO 3166-1 alpha-2.select: một menu thả xuống với danh sách các tùy chọn. Danh sách các tùy chọn được định nghĩa trong trườngoptions. Ví dụ:options: ["option 1", "option 2", {label: "option3", value: "opt3"}].
Cuối cùng, bạn cũng có thể cá nhân hóa thông điệp hiển thị cho người dùng bằng trường bổ sung extra_gated_prompt.
Dưới đây là một ví dụ về biểu mẫu yêu cầu được tùy chỉnh, trong đó người dùng được yêu cầu cung cấp tên công ty và quốc gia của họ, đồng thời xác nhận rằng bộ dữ liệu chỉ được sử dụng cho mục đích phi thương mại.
---
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
---Trong một số trường hợp, bạn có thể muốn chỉnh sửa văn bản mặc định trong tiêu đề, mô tả và nút của cổng. Đối với các trường hợp sử dụng đó, bạn có thể chỉnh sửa extra_gated_heading, extra_gated_description và extra_gated_button_content như sau:
---
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"
---Kiểm soát quyền truy cập cho thành viên tổ chức
Đối với các bộ dữ liệu có kiểm soát được lưu trữ dưới một tổ chức, bạn cũng có thể yêu cầu chính các thành viên của tổ chức đó phải gửi yêu cầu truy cập. Trên trang cài đặt bộ dữ liệu, trong các tùy chọn kiểm soát truy cập, hãy bật Cũng kiểm soát truy cập cho các thành viên của {org}.
Khi tùy chọn này được bật, thành viên tổ chức phải yêu cầu quyền truy cập vào bộ dữ liệu như bất kỳ người dùng nào khác. Các vai trò sau đây bỏ qua yêu cầu và giữ quyền truy cập trực tiếp:
- Quản trị viên tổ chức
- Người dùng đã tạo kho
- quản trị viên Resource Group, khi bộ dữ liệu thuộc về một Resource Group
Tất cả các thành viên khác phải trải qua quy trình yêu cầu truy cập. Điều này bao gồm các thành viên có vai trò tổ chức là read, contributor hoặc write, và các thành viên của Resource Group không có vai trò admin.
Quản lý các bộ dữ liệu có kiểm soát với tư cách là một tổ chức (Team & Enterprise)
Team & Enterprise subscribers có thể tạo một Gating Group Collection để cấp (hoặc từ chối) quyền truy cập vào tất cả các model và dataset trong một collection cùng lúc.
Thông tin chi tiết hơn về Gating Group Collections có thể được tìm thấy trong tài liệu chuyên biệt của chúng tôi.
Truy cập các bộ dữ liệu có kiểm soát với tư cách là người dùng
Với tư cách là người dùng, nếu bạn muốn sử dụng một bộ dữ liệu có kiểm soát truy cập, bạn sẽ cần yêu cầu quyền truy cập vào bộ dữ liệu đó. Điều này có nghĩa là bạn phải đã đăng nhập vào tài khoản người dùng Hugging Face.
Việc yêu cầu quyền truy cập chỉ có thể thực hiện từ trình duyệt của bạn. Hãy truy cập bộ dữ liệu trên Hub và bạn sẽ được yêu cầu chia sẻ thông tin của mình:

Bằng cách nhấp vào Agree, bạn đồng ý chia sẻ thông tin bạn nhập vào biểu mẫu yêu cầu (nếu có) với các tác giả của bộ dữ liệu, cũng như tên người dùng và địa chỉ email Hugging Face của bạn nếu các tác giả chọn thu thập chúng. Để hỗ trợ các tác giả bộ dữ liệu quyết định có cấp quyền truy cập cho bạn hay không, hãy cố gắng điền đầy đủ nhất có thể vào các trường trong biểu mẫu.
Sau khi yêu cầu truy cập được gửi đi, có hai khả năng. Nếu cơ chế phê duyệt là tự động, bạn sẽ ngay lập tức có quyền truy cập vào các tệp dữ liệu. Ngược lại, các yêu cầu phải được phê duyệt thủ công bởi các tác giả, điều này có thể mất nhiều thời gian hơn.
Các tác giả của bộ dữ liệu có toàn quyền kiểm soát việc truy cập bộ dữ liệu. Cụ thể, họ có thể quyết định chặn quyền truy cập của bạn vào bộ dữ liệu vào bất kỳ lúc nào mà không cần thông báo trước, bất kể cơ chế phê duyệt hay yêu cầu của bạn đã được phê duyệt hay chưa.
Tải xuống các tệp
Để tải tệp từ một bộ dữ liệu có kiểm soát, bạn cần được xác thực. Trong trình duyệt, quá trình này diễn ra tự động miễn là bạn đã đăng nhập bằng tài khoản của mình. Nếu bạn đang sử dụng một script, bạn sẽ cần cung cấp một token người dùng. Trong hệ sinh thái Python của Hugging Face (transformers, diffusers, datasets, v.v.), bạn có thể đăng nhập máy của mình bằng thư viện huggingface_hub và chạy trong terminal:
hf auth login
Ngoài ra, bạn có thể đăng nhập bằng cách lập trình bằng cách sử dụng login() trong notebook hoặc script:
>>> from huggingface_hub import login
>>> login()Bạn cũng có thể cung cấp tham số token cho hầu hết các phương thức tải trong các thư viện (from_pretrained, hf_hub_download, load_dataset, v.v.), trực tiếp từ các script của bạn.
Để biết thêm chi tiết về cách đăng nhập, hãy xem hướng dẫn đăng nhập.
Hạn chế quyền truy cập cho người dùng EU
Đối với các bộ dữ liệu có kiểm soát truy cập, bạn có thể thêm một lớp kiểm soát truy cập bổ sung để hạn chế cụ thể người dùng từ các quốc gia thuộc Liên minh Châu Âu. Điều này hữu ích nếu giấy phép hoặc điều khoản sử dụng của bộ dữ liệu của bạn cấm việc phân phối nó tại EU.
Để bật tính năng này, hãy thêm thuộc tính extra_gated_eu_disallowed: true vào phần metadata của thẻ dataset của bạn.
Quan trọng: Tính năng này chỉ được kích hoạt nếu bộ dữ liệu của bạn đã được đặt cổng. Nếu gated: false hoặc thuộc tính này không được đặt, hạn chế này sẽ không áp dụng.
---
license: mit
gated: true
extra_gated_eu_disallowed: true
---Hệ thống xác định vị trí của người dùng dựa trên địa chỉ IP của họ.
Update on GitHub