Hub documentation

Model bergerbang

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Model bergerbang

Untuk memberikan kendali lebih besar atas cara model digunakan, Hub memungkinkan pengembang model untuk mengaktifkan permintaan akses untuk model mereka. Saat diaktifkan, pengguna harus mengajukan permintaan akses untuk mengakses file model, yang akan membagikan informasi Hugging Face mereka (nama pengguna dan alamat email) kepada pengembang model, kecuali pengembang memilih untuk tidak mengumpulkannya. Pengembang model juga dapat menambahkan bidang kustom. Model dengan permintaan akses yang diaktifkan disebut sebagai model bergerbang. Permintaan akses selalu diberikan kepada pengguna individu, bukan kepada seluruh organisasi. Kasus penggunaan umum dari model bergerbang adalah untuk memberikan akses ke model penelitian awal sebelum rilis yang lebih luas.

Kelola model bergerbang sebagai penulis model

Untuk mengaktifkan permintaan akses, buka halaman pengaturan model. Secara default, model tidak bergerbang. Klik Aktifkan permintaan akses di sudut kanan atas.

Secara default, akses ke model diberikan secara otomatis kepada pengguna saat mereka memintanya. Hal ini disebut sebagai persetujuan otomatis. Dalam mode ini, pengguna mana pun dapat mengakses model Anda setelah mereka membagikan informasi pribadi mereka kepada Anda.

Jika Anda ingin menyetujui secara manual pengguna mana yang dapat mengakses model Anda, Anda harus menyetelnya ke persetujuan manual. Dalam kasus ini, Anda akan melihat lebih banyak opsi:

  • Tambahkan akses memungkinkan Anda mencari pengguna dan memberikan mereka akses meskipun mereka tidak memintanya.
  • Frekuensi notifikasi memungkinkan Anda mengatur kapan menerima notifikasi jika ada pengguna baru yang meminta akses. Pengaturan ini dapat diatur menjadi sekali sehari atau real-time. Secara default, email dikirim ke alamat email utama Anda. Untuk model yang dihosting di bawah organisasi, email secara default dikirim ke 5 admin pertama organisasi. Dalam kedua kasus (pengguna atau organisasi), Anda dapat mengatur alamat email yang berbeda di kolom Email notifikasi.

Tinjau permintaan akses

Setelah permintaan akses diaktifkan, Anda memiliki kendali penuh atas siapa yang dapat mengakses model Anda, baik mode persetujuan manual maupun otomatis. Anda dapat meninjau dan mengelola permintaan melalui UI atau via API.

Dari UI

Anda dapat meninjau siapa yang memiliki akses ke model bergerbang Anda dari halaman pengaturannya dengan mengklik tombol Review access requests. Hal ini akan membuka modal dengan 3 daftar pengguna:

  • pending: daftar pengguna yang menunggu persetujuan untuk mengakses model Anda. Daftar ini kosong kecuali Anda telah memilih manual approval. Anda dapat Accept atau Reject permintaan tersebut. Jika permintaan ditolak, pengguna tidak dapat mengakses model Anda dan tidak dapat meminta akses lagi.
  • accepted: daftar lengkap pengguna yang memiliki akses ke model Anda. Anda dapat memilih untuk Reject akses kapan saja untuk pengguna mana pun, baik mode persetujuan manual maupun otomatis. Anda juga dapat Cancel persetujuan, yang akan memindahkan pengguna ke daftar pending.
  • rejected: daftar pengguna yang Anda tolak secara manual. Pengguna tersebut tidak dapat mengakses model Anda. Jika mereka membuka repositori model Anda, mereka akan melihat pesan Your request to access this repo has been rejected by the repo’s authors.

Melalui API

Anda dapat mengotomatikan persetujuan permintaan akses dengan menggunakan API. Anda harus meneruskan token dengan akses write ke repositori yang di-gate. Untuk menghasilkan token, buka pengaturan pengguna Anda.

MetodeURIDeskripsiHeaderPayload
GET/api/models/{repo_id}/user-access-request/{status}Daftarkan permintaan dengan status yang diberikan: pending, accepted, rejected atau reset. Setiap permintaan memiliki requestId, dan user jika nama pengguna dikumpulkan.{"authorization": "Bearer $token"}
POST/api/models/{repo_id}/user-access-request/handleUbah status permintaan akses tertentu menjadi 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/models/{repo_id}/user-access-request/grantIzinkan pengguna tertentu untuk mengakses repo Anda.{"authorization": "Bearer $token"}{"user": "username"}

URL dasar untuk endpoint HTTP di atas adalah https://huggingface.co.

Menetapkan permintaan menjadi reset mencabut keputusan sebelumnya dan meminta pengguna untuk memulai ulang: mereka kehilangan akses ke model, menerima email pemberitahuan bahwa permintaan mereka telah direset (termasuk resetReason opsional), dan akan diminta untuk menyetujui syarat gating serta mengirimkan permintaan baru saat mereka mengunjungi halaman model berikutnya. Ini berbeda dari pending, yang mempertahankan permintaan yang ada apa adanya dan sekadar mengembalikannya ke antrean peninjauan, serta dari rejected, yang memblokir pengguna dari permintaan akses lagi.

BARU! Endpoint-endpoint tersebut kini didukung secara resmi di klien Python kami huggingface_hub. Daftarkan permintaan akses ke model Anda dengan list_pending_access_requests, list_accepted_access_requests dan list_rejected_access_requests. Anda juga dapat menerima, membatalkan, dan menolak permintaan akses dengan accept_access_request, cancel_access_request, reject_access_request. Terakhir, Anda dapat memberikan akses kepada pengguna dengan grant_access.

Unduh laporan akses

Anda dapat mengunduh laporan semua permintaan akses untuk model yang dikunci dengan tombol download user access report. Klik tombol tersebut untuk mengunduh file json berisi daftar pengguna. Untuk setiap entri, Anda memiliki:

  • requestId: id dari permintaan.
  • user: id pengguna. Contoh: julien-c.
  • fullname: nama pengguna di Hub. Contoh: Julien Chaumond.
  • status: status dari permintaan. Bisa berupa "pending", "accepted", "rejected" atau "reset".
  • email: email pengguna.
  • time: waktu saat pengguna pertama kali membuat permintaan.
  • reviewedAt: waktu datetime saat permintaan diterima atau ditolak. Tidak diset untuk permintaan yang masih pending.

user, fullname dan email hanya ada jika Anda memilih untuk mengumpulkannya saat permintaan dibuat. Permintaan selalu dapat diidentifikasi melalui requestId mereka.

Pilih data profil mana yang dibagikan Hugging Face kepada Anda

Secara default, Hugging Face membagikan nama pengguna dan alamat email utama peminta kepada Anda. Anda bertanggung jawab untuk menangani informasi yang dapat mengidentifikasi secara pribadi (PII) dan mengungkapkan cara Anda menanganinya sesuai dengan hukum yang berlaku (misalnya dengan menautkan ke Kebijakan Privasi Anda sendiri). Anda dapat mengubah ini di opsi gating pada halaman pengaturan model:

  • Kumpulkan nama pengguna: jika tidak dicentang, Anda tidak akan menerima nama pengguna Hugging Face, nama lengkap, dan avatar dari peminta. Permintaan ditampilkan dengan id permintaan dan dapat diterima atau ditolak seperti permintaan lainnya.
  • Kumpulkan email: kumpulkan email profil Hugging Face dari peminta. Memerlukan Kumpulkan nama pengguna.

Anda tetap menerima jawaban untuk bidang formulir kustom Anda, sehingga Anda dapat meminta detail kontak apa pun yang Anda butuhkan di sana. Pengaturan ini hanya berlaku untuk permintaan baru: permintaan yang sudah ada tetap menggunakan pengaturan yang berlaku saat permintaan tersebut dibuat.

Untuk model dalam Gating Group Collection, opsi ini dikonfigurasi pada koleksi tersebut.

Sesuaikan informasi yang diminta

Secara default, pengguna yang mendarat di model Anda yang bergerbang akan diminta untuk membagikan informasi Hugging Face mereka (email dan nama pengguna, kecuali Anda menonaktifkan pengumpulannya) dengan mengklik tombol Agree and send request to access repo.

Jika Anda ingin mengumpulkan lebih banyak informasi pengguna, Anda dapat mengatur bidang tambahan. Informasi ini dapat diakses dari tab Pengaturan. Untuk melakukannya, tambahkan properti extra_gated_fields ke metadata kartu model Anda yang berisi daftar pasangan kunci/nilai. Kunci adalah nama bidang dan nilai adalah tipenya atau objek dengan bidang type. Daftar tipe bidang adalah:

  • text: bidang teks satu baris.
  • checkbox: bidang kotak centang.
  • date_picker: bidang pemilih tanggal.
  • country: dropdown negara. Daftar negara didasarkan pada standar ISO 3166-1 alpha-2.
  • select: dropdown dengan daftar opsi. Daftar opsi didefinisikan di field options. Contoh: options: ["option 1", "option 2", {label: "option3", value: "opt3"}].

Terakhir, Anda juga dapat mempersonalisasi pesan yang ditampilkan kepada pengguna dengan bidang tambahan extra_gated_prompt.

Berikut adalah contoh formulir permintaan yang dikustomisasi, di mana pengguna diminta untuk memberikan nama perusahaan dan negara mereka serta mengakui bahwa model tersebut hanya untuk penggunaan non-komersial.

---
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
---

Dalam beberapa kasus, Anda mungkin juga ingin memodifikasi teks default pada judul, deskripsi, dan tombol gate. Untuk kasus penggunaan tersebut, Anda dapat memodifikasi extra_gated_heading, extra_gated_description dan extra_gated_button_content seperti ini:

---
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"
---

Contoh kasus penggunaan pengelolaan permintaan akses secara programatik

Berikut adalah beberapa kasus penggunaan menarik untuk mengelola permintaan akses secara programatik untuk repositori bergerbang yang secara organik muncul di komunitas. Sebagai pengingat, repositori model harus diatur ke persetujuan manual, jika tidak pengguna akan mendapatkan aksesnya secara otomatis.

Beberapa kasus penggunaan manajemen programatik meliputi:

  • Jika Anda memiliki persyaratan penyaringan permintaan pengguna tingkat lanjut (untuk persyaratan kepatuhan tingkat lanjut, dll.) atau Anda ingin menangani permintaan pengguna di luar Hub.
    • Salah satu contohnya adalah rilis awal Llama 2 dari Meta, di mana pengguna harus meminta akses melalui situs web Meta.
    • Anda dapat meminta nama pengguna HF dari pengguna dalam alur akses Anda, lalu menggunakan skrip untuk menerima permintaan pengguna di Hub secara programatik berdasarkan seperangkat kondisi yang Anda tetapkan.
  • Jika Anda ingin mengondisikan akses ke model berdasarkan penyelesaian alur pembayaran (perhatikan bahwa alur pembayaran sebenarnya terjadi di luar Hub).

Akses gerbang untuk anggota organisasi

Untuk model bergerbang yang dihosting di bawah sebuah organisasi, Anda juga dapat meminta anggota organisasi itu sendiri untuk mengajukan permintaan akses. Di halaman pengaturan model, di bawah opsi gerbang, aktifkan Juga gerbangkan akses untuk anggota {org}.

Ketika opsi ini diaktifkan, anggota organisasi harus meminta akses ke model seperti pengguna lainnya. Peran-peran berikut melewati permintaan dan tetap memiliki akses langsung:

  • Admin organisasi
  • Pengguna yang membuat repo
  • admin Resource Group, ketika model tersebut milik Resource Group

Semua anggota lainnya harus melewati alur permintaan akses. Ini mencakup anggota dengan peran organisasi read, contributor, atau write, serta anggota Resource Group tanpa peran admin.

Kelola model bergerbang sebagai organisasi (Tim & Enterprise)

Pelanggan Team & Enterprise dapat membuat Gating Group Collection untuk memberikan (atau menolak) akses ke semua model dan dataset dalam sebuah koleksi sekaligus.

Informasi lebih lanjut tentang Gating Group Collections dapat ditemukan di dokumen khusus kami.

Akses model bergerbang sebagai pengguna

Sebagai pengguna, jika Anda ingin menggunakan model yang bergerbang, Anda perlu meminta akses ke model tersebut. Ini berarti Anda harus masuk ke akun pengguna Hugging Face.

Permintaan akses hanya dapat dilakukan dari browser Anda. Buka model di Hub dan Anda akan diminta untuk membagikan informasi Anda:

Dengan mengklik Sepakati, Anda menyetujui untuk membagikan informasi yang Anda masukkan dalam formulir permintaan (jika berlaku) kepada para penulis model, serta nama pengguna dan alamat email Hugging Face Anda jika para penulis memilih untuk mengumpulkannya. Untuk membantu para penulis model memutuskan apakah akan memberikan Anda akses, usahakan untuk mengisi semua kolom formulir sedetail mungkin.

Setelah permintaan akses dikirim, ada dua kemungkinan. Jika mekanisme persetujuan bersifat otomatis, Anda langsung mendapatkan akses ke file model. Sebaliknya, permintaan harus disetujui secara manual oleh para penulis, yang dapat memakan waktu lebih lama.

Para penulis model memiliki kendali penuh atas akses model. Secara khusus, mereka dapat memutuskan untuk memblokir akses Anda ke model kapan saja tanpa pemberitahuan sebelumnya, terlepas dari mekanisme persetujuan atau apakah permintaan Anda sudah disetujui.

Unduh file

Untuk mengunduh file dari model yang bergerbang, Anda perlu terautentikasi. Di browser, ini otomatis selama Anda masuk dengan akun Anda. Jika Anda menggunakan skrip, Anda perlu menyediakan token pengguna. Dalam ekosistem Python Hugging Face (transformers, diffusers, datasets, dll.), Anda dapat masuk ke mesin Anda menggunakan pustaka huggingface_hub dan menjalankan di terminal Anda:

hf auth login

Sebagai alternatif, Anda dapat masuk secara programatik menggunakan login() di notebook atau skrip:

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

Anda juga dapat menyediakan parameter token untuk sebagian besar metode pemuatan di pustaka (from_pretrained, hf_hub_download, load_dataset, dll.), langsung dari skrip Anda.

Untuk detail lebih lanjut tentang cara masuk, lihat panduan login.

Membatasi Akses untuk Pengguna UE

Untuk model bergerbang, Anda dapat menambahkan lapisan kontrol akses tambahan untuk membatasi pengguna dari negara-negara Uni Eropa secara khusus. Hal ini berguna jika lisensi atau ketentuan penggunaan model Anda melarang distribusinya di Uni Eropa.

Untuk mengaktifkan ini, tambahkan properti extra_gated_eu_disallowed: true ke metadata kartu model Anda.

Penting: Fitur ini hanya akan aktif jika model Anda sudah berstatus gated. Jika gated: false atau properti tersebut tidak diset, pembatasan ini tidak akan berlaku.

---
license: mit
gated: true
extra_gated_eu_disallowed: true
---

Sistem mengidentifikasi lokasi pengguna berdasarkan alamat IP mereka.

Update on GitHub