Skip to content

Commit 099abf4

Browse files
Loïc SayPierrcipcuenca
authored
Gating Group Collections (#1525)
* feat(collection): gating group * first draft of gating group page & fixing enterprise to enterprise hub * fixup! first draft of gating group page & fixing enterprise to enterprise hub * fix build * fix image names & side menu wording * fix with suggestions * suggestions * better images and more documentation * adding multiple sections * Apply suggestions from code review Co-authored-by: Pierric Cistac <[email protected]> * fix tag * Apply suggestions from code review Co-authored-by: Pedro Cuenca <[email protected]> * More readable sentence Co-authored-by: Pedro Cuenca <[email protected]> * capitalize --------- Co-authored-by: Pierric Cistac <[email protected]> Co-authored-by: Pedro Cuenca <[email protected]>
1 parent b27277a commit 099abf4

File tree

6 files changed

+188
-0
lines changed

6 files changed

+188
-0
lines changed

docs/hub/_toctree.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,8 @@
350350
title: Analytics
351351
- local: enterprise-hub-network-security
352352
title: Network Security
353+
- local: enterprise-hub-gating-group-collections
354+
title: Gating Group Collections
353355
- local: billing
354356
title: Billing
355357
- local: security

docs/hub/collections.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Collections have many use cases:
1111
- Showcase and share a complete project with its paper(s), dataset(s), model(s) and Space(s).
1212
- Bookmark things you find on the Hub in categories.
1313
- Have a dedicated page of curated things to share with others.
14+
- Gate a group of models/datasets (Enterprise Hub)
1415

1516
This is just a list of possible uses, but remember that collections are just a way of grouping things, so use them in the way that best fits your use case.
1617

@@ -54,6 +55,12 @@ Use the **history feature** to keep track of who has edited the collection.
5455

5556
Set your collection to **private** if you don't want it to be accessible via its URL (it will not be displayed on your profile/organization page). For organizations, private collections are only available to members of the organization.
5657

58+
### Gating Group Collections (Enterprise Hub)
59+
60+
You can use a collection to [gate](https://huggingface.co/docs/hub/en/models-gated) all the models/datasets belonging to it, allowing you to grant (or reject) access to all of them at once.
61+
62+
This feature is reserved for [Enterprise Hub](https://huggingface.co/docs/hub/en/enterprise-hub) subscribers: more information about Gating Group Collections can be found in [our dedicated doc](https://huggingface.co/docs/hub/en/enterprise-hub-gating-group-collections).
63+
5764
### Ordering your collections and their items
5865

5966
You can use the drag and drop handles in the collections list (on the left side of your collections page) to change the order of your collections (1). The first two collections will be directly visible on your profile/organization pages.

docs/hub/datasets-gated.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ extra_gated_button_content: "Acknowledge license"
125125
---
126126
```
127127

128+
## Manage gated datasets as an organization (Enterprise Hub)
129+
130+
[Enterprise Hub](https://huggingface.co/docs/hub/en/enterprise-hub) subscribers can create a Gating Group Collection to grant (or reject) access to all the models and datasets in a collection at once.
131+
132+
More information about Gating Group Collections can be found in [our dedicated doc](https://huggingface.co/docs/hub/en/enterprise-hub-gating-group-collections).
133+
128134
## Access gated datasets as a user
129135

130136

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
# Gating Group Collections
2+
3+
<Tip warning={true}>
4+
This feature is part of the <a href="https://huggingface.co/enterprise">Enterprise Hub</a>.
5+
</Tip>
6+
7+
Gating Group Collections allow organizations to grant (or reject) access to all the models and datasets in a collection at once, rather than per repo. Users will only have to go through **a single access request**.
8+
9+
To enable Gating Group in a collection:
10+
11+
- the collection owner must be an organization
12+
- the organization must be subscribed to the Enterprise Hub
13+
- all models and datasets in the collection must be owned by the same organization as the collection
14+
- each model or dataset in the collection may only belong to one Gating Group Collection, but they may be present on non-gating collections.
15+
16+
<Tip>
17+
Gating only applies to models and datasets; any other resource part of the collection (such as a Space or a Paper) won't be affected.
18+
</Tip>
19+
20+
## Manage gating group as an organization admin
21+
22+
To enable access requests, go to the collection page and click on **Gating group** in the bottom-right corner.
23+
24+
<div class="flex justify-center" style="max-width: 750px">
25+
<img
26+
class="block dark:hidden !m-0"
27+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-collection-disabled.webp"
28+
alt="Hugging Face collection page with gating group collection feature disabled"
29+
/>
30+
<img
31+
class="hidden dark:block !m-0"
32+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-collection-disabled.webp"
33+
alt="Hugging Face collection page with gating group collection feature disabled"
34+
/>
35+
</div>
36+
37+
By default, gating group is disabled: click on **Configure Access Requests** to open the settings
38+
39+
<div class="flex justify-center" style="max-width: 750px">
40+
<img
41+
class="block dark:hidden !m-0"
42+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-modal-disabled.webp"
43+
alt="Hugging Face gating group collection settings with gating disabled"
44+
/>
45+
<img
46+
class="hidden dark:block !m-0"
47+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-modal-disabled.webp"
48+
alt="Hugging Face gating group collection settings with gating disabled"
49+
/>
50+
</div>
51+
52+
By default, access to the repos in the collection is automatically granted to users when they request it. This is referred to as **automatic approval**. In this mode, any user can access your repos once they’ve agreed to share their contact information with you.
53+
54+
<div class="flex justify-center" style="max-width: 750px">
55+
<img
56+
class="block dark:hidden !m-0"
57+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-modal-enabling.webp"
58+
alt="Hugging Face gating group collection settings with automatic mode selected"
59+
/>
60+
<img
61+
class="hidden dark:block !m-0"
62+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-modal-enabling.webp"
63+
alt="Hugging Face gating group collection settings with automatic mode selected"
64+
/>
65+
</div>
66+
67+
If you want to manually approve which users can access repos in your collection, you must set it to **Manual Review**. When this is the case, you will notice a new option:
68+
69+
**Notifications frequency**, which lets you configure when to get notified about new users requesting access. It can be set to once a day or real-time. By default, emails are sent to the first 5 admins of the organization. You can also set a different email address in the **Notifications email** field.
70+
71+
<div class="flex justify-center" style="max-width: 750px">
72+
<img
73+
class="block dark:hidden !m-0"
74+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-modal-manual.webp"
75+
alt="Hugging Face gating group collection settings with manual review mode selected"
76+
/>
77+
<img
78+
class="hidden dark:block !m-0"
79+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-modal-manual.webp"
80+
alt="Hugging Face gating group collection settings with manual review mode selected"
81+
/>
82+
</div>
83+
84+
### Review access requests
85+
86+
Once access requests are enabled, you have full control of who can access repos in your gating group collection, whether the approval mode is manual or automatic. You can review and manage requests either from the UI or via the API.
87+
88+
**Approving a request for a repo in a gating group collection will automatically approve access to all repos (models and datasets) in that collection.**
89+
90+
#### From the UI
91+
92+
You can review who has access to all the repos in your Gating Group Collection from the settings page of any of the repos in the collection, by clicking on the **Review access requests** button:
93+
94+
<div class="flex justify-center" style="max-width: 750px">
95+
<img
96+
class="block dark:hidden !m-0"
97+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-repo-settings.webp"
98+
alt="Hugging Face repo access settings when repo is in a gating group collection"
99+
/>
100+
<img
101+
class="hidden dark:block !m-0"
102+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-repo-settings.webp"
103+
alt="Hugging Face repo access settings when repo is in a gating group collection"
104+
/>
105+
</div>
106+
107+
This will open a modal with 3 lists of users:
108+
109+
- **pending**: the list of users waiting for approval to access your repository. This list is empty unless you’ve selected **Manual Review**. You can either **Accept** or **Reject** each request. If the request is rejected, the user cannot access your repository and cannot request access again.
110+
- **accepted**: the complete list of users with access to your repository. You can choose to **Reject** access at any time for any user, whether the approval mode is manual or automatic. You can also **Cancel** the approval, which will move the user to the **pending** list.
111+
- **rejected**: the list of users you’ve manually rejected. Those users cannot access your repositories. If they go to your repository, they will see a message _Your request to access this repo has been rejected by the repo’s authors_.
112+
113+
<div class="flex justify-center" style="max-width: 750px">
114+
<img
115+
class="block dark:hidden"
116+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/models-gated-enabled-pending-users.png"
117+
alt="Manage access requests modal for a repo in a gating group collection"
118+
/>
119+
<img
120+
class="hidden dark:block"
121+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/models-gated-enabled-pending-users-dark.png"
122+
alt="Manage access requests modal for a repo in a gating group collection"
123+
/>
124+
125+
</div>
126+
127+
#### Via the API
128+
129+
You can programmatically manage access requests in a Gated Group Collection through the API of any of its models or datasets.
130+
131+
Visit our [gated models](https://huggingface.co/docs/hub/models-gated#via-the-api) or [gated datasets](https://huggingface.co/docs/hub/datasets-gated#via-the-api) documentation to know more about it.
132+
133+
#### Download access report
134+
135+
You can download access reports for the Gated Group Collection through the settings page of any of its models or datasets.
136+
137+
Visit our [gated models](https://huggingface.co/docs/hub/models-gated#download-access-report) or [gated datasets](https://huggingface.co/docs/hub/datasets-gated#download-access-report) documentation to know more about it.
138+
139+
#### Customize requested information
140+
141+
Organizations can customize the gating parameters as well as the user information that is collected per gated repo. Please, visit our [gated models](https://huggingface.co/docs/hub/models-gated#customize-requested-information) or [gated datasets](https://huggingface.co/docs/hub/datasets-gated#customize-requested-information) documentation for more details.
142+
143+
<Tip warning={true}>
144+
There is currently no way to customize the gate parameters and requested information in a centralized way. If you want to collect the same data no matter which collection's repository a user requests access throughout, you need to add the same gate parameters in the metadata of all the models and datasets of the collection, and keep it synced.
145+
</Tip>
146+
147+
## Access gated repos in a Gating Group Collection as a user
148+
149+
A Gated Group Collection shows a specific icon before its name:
150+
151+
<div class="flex justify-center" style="max-width: 750px">
152+
<img
153+
class="block dark:hidden !m-0"
154+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/gating-group-collection-enabled.webp"
155+
alt="Hugging Face collection page with gating group collection feature enabled"
156+
/>
157+
<img
158+
class="hidden dark:block !m-0"
159+
src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/collections/dark-gating-group-collection-enabled.webp"
160+
alt="Hugging Face collection page with gating group collection feature enabled"
161+
/>
162+
</div>
163+
164+
To get access to the models and datasets in a Gated Group Collection, a single access request on the page of any of those repositories is needed. Once your request is approved, you will be able to access all the other repositories in the collection, including future ones.
165+
166+
Visit our [gated models](https://huggingface.co/docs/hub/models-gated#access-gated-models-as-a-user) or [gated datasets](https://huggingface.co/docs/hub/datasets-gated#access-gated-datasets-as-a-user) documentation to learn more about requesting access to a repository.

docs/hub/enterprise-hub.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ In this section we will document the following Enterprise Hub features:
2323
- [Tokens Management](./enterprise-hub-tokens-management)
2424
- [Analytics](./enterprise-hub-analytics)
2525
- [Network Security](./enterprise-hub-network-security)
26+
- [Gating Group Collections](./enterprise-hub-gating-group-collections)
2627

2728
Finally, Enterprise Hub includes 1TB of [private repository storage](./storage-limits) per seat in the subscription, i.e. if your organization has 40 members, then you have 40TB included storage for your private models and datasets.

docs/hub/models-gated.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ Possible use cases of programmatic management include:
139139
- Here's an [example repo](https://huggingface.co/Trelis/openchat_3.5-function-calling-v3) from TrelisResearch that uses this use case.
140140
- [@RonanMcGovern](https://huggingface.co/RonanMcGovern) has posted a [video about the flow](https://www.youtube.com/watch?v=2OT2SI5auQU) and tips on how to implement it.
141141

142+
## Manage gated models as an organization (Enterprise Hub)
143+
144+
[Enterprise Hub](https://huggingface.co/docs/hub/en/enterprise-hub) subscribers can create a Gating Group Collection to grant (or reject) access to all the models and datasets in a collection at once.
145+
146+
More information about Gating Group Collections can be found in [our dedicated doc](https://huggingface.co/docs/hub/en/enterprise-hub-gating-group-collections).
147+
142148
## Access gated models as a user
143149

144150

0 commit comments

Comments
 (0)