Deploy di Hugging Face Spaces: satu setelan bisa membuka kode atau aplikasi

|Penulis: Tim Redaksi QUASA|5 mnt baca| 2
Deploy di Hugging Face Spaces: satu setelan bisa membuka kode atau aplikasi

Untuk menerbitkan aplikasi Gradio di Hugging Face Spaces, buat Space dengan SDK Gradio, tambahkan app.py, lalu buka tab App setelah proses build selesai. Simpan token yang diperlukan sebagai Secret dan pilih visibilitas sebelum membagikan tautan, karena pengaturan itu menentukan akses ke aplikasi dan kode sumbernya.

Dokumentasi Spaces membedakan akses public, protected, dan private; dokumentasi yang sama mencatat CPU Basic dengan 2 vCPU, RAM 16 GB, dan disk sementara 50 GB. CPU Basic tidak dikenai biaya per jam, tetapi pembuatan Space Gradio umumnya memerlukan paket berbayar. Karena itu, periksa pilihan yang tersedia pada akun sebelum menyiapkan tautan demo.

Siapkan proyek Gradio yang paling sederhana

Mulailah dengan aplikasi yang tidak membutuhkan model atau token. Saat membuat Space, pilih Gradio sebagai SDK. Panduan Gradio Spaces menjelaskan bahwa pilihan tersebut menambahkan sdk: gradio ke metadata README.md dan aplikasi dapat dijalankan dari app.py di repositori.

Sebagai contoh minimal, isi app.py dengan baris berikut secara berurutan:

  1. import gradio as gr
  2. gr.Interface(fn=lambda nama: 'Halo, ' + nama + '!', inputs='text', outputs='text').launch()

Contoh ini menerima nama sebagai teks dan mengembalikan sapaan. Tidak ada kredensial atau layanan luar yang diperlukan, sehingga hasilnya membantu membedakan masalah dasar pada berkas dan build dari masalah autentikasi yang mungkin muncul setelah aplikasi dikembangkan. Pastikan app.py berada di akar repositori Space dan README.md tetap memuat metadata SDK yang dibuat saat Space dipilih.

Jika aplikasi sesungguhnya memerlukan paket Python tambahan, cantumkan paket tersebut di requirements.txt pada akar repositori, satu nama paket per baris. Contoh sapaan di atas tidak memerlukan berkas itu. Setelah berkas diunggah atau di-commit, Space membangun ulang aplikasi; buka tab App dan kirim sebuah nama untuk memastikan sapaan muncul. Bila build gagal, cocokkan nama berkas utama, metadata README.md, dan daftar dependensi sebelum menambahkan pemanggilan model atau API.

Masukkan token melalui Settings, bukan app.py

Aplikasi yang mengakses model privat atau layanan dengan autentikasi memerlukan kredensial. Tambahkan token di Settings Space pada bagian Secrets dengan nama HF_TOKEN, lalu baca nilainya di Python melalui os.getenv('HF_TOKEN'). Tutorial chatbot Hugging Face menggunakan pola itu untuk aplikasi Gradio yang terhubung ke Inference Endpoints.

Jangan tempelkan nilai token ke app.py, README.md, atau requirements.txt. Secrets disediakan ke aplikasi sebagai variabel lingkungan dan nilainya tidak dapat dibaca kembali dari halaman pengaturan setelah disimpan. Variables ditujukan untuk konfigurasi yang tidak sensitif dan dapat terlihat oleh orang lain; perbedaan ini penting meskipun Space masih private, terutama bila visibilitasnya kelak diubah.

Sesudah menyimpan Secret, jalankan bagian aplikasi yang memakai layanan tersebut melalui tab App. Jika permintaan gagal, periksa ejaan HF_TOKEN, izin token, dan konfigurasi layanan yang dituju. Pesan kesalahan yang terlihat pengunjung sebaiknya menerangkan kegagalan tanpa menampilkan nilai kredensial atau rincian privat lainnya.

Pilih visibilitas berdasarkan dua jenis akses

Public membuka aplikasi yang berjalan sekaligus kode sumber di repositori kepada siapa pun. Orang lain juga dapat mengkloning repositorinya. Mode ini cocok bila demo dan implementasinya memang boleh dipelajari bersama, setelah berkas serta riwayat yang diterbitkan diperiksa dari kemungkinan data sensitif.

Protected membatasi kode sumber kepada pemilik dan kolaborator, sementara aplikasi tetap dapat dibuka publik melalui alamat embed Space atau domain khusus yang telah dikonfigurasi. Mode ini tersedia dalam paket PRO, Team, atau Enterprise. Pilihan tersebut berguna ketika pengunjung perlu mencoba aplikasi tanpa memperoleh akses ke repositori; pengunjung aplikasi tetap dapat mengirim masukan ke demo yang berjalan.

Private membatasi aplikasi dan kode kepada pemilik serta kolaborator. Penerima di luar daftar akses tidak dapat membuka aplikasi hanya dengan memiliki tautannya. Untuk uji internal, ini pilihan yang sesuai. Untuk demo yang ingin dibuka publik tetapi kodenya tetap tertutup, protected memenuhi pola akses tersebut bila paket akun mendukungnya.

Visibilitas dapat diubah melalui Settings. Sebelum mengubahnya menjadi public, perlakukan seluruh berkas repositori sebagai materi yang akan dapat dibaca dan dikloning. Menyimpan token sebagai Secret tetap diperlukan pada setiap mode, karena pembatasan akses repositori dan penyimpanan kredensial menjalankan fungsi yang berbeda.

Perhitungkan batas komputasi dan penyimpanan

Jatah CPU Basic yang disebut di awal memadai untuk demo sapaan sederhana, tetapi kebutuhan aplikasi yang memuat model besar atau melayani banyak permintaan harus dinilai dari beban sebenarnya. Disk bawaan bersifat tidak persisten: berkas yang ditulis saat aplikasi berjalan dapat hilang ketika Space berhenti atau dimulai ulang. Hasil yang harus bertahan perlu dikirim ke penyimpanan persisten, bukan hanya dibiarkan di disk runtime.

Biaya perangkat keras dan hak membuat Space adalah dua hal berbeda. Dokumentasi platform mensyaratkan PRO untuk akun pribadi atau Team maupun Enterprise untuk organisasi yang membuat Space berbasis komputasi seperti Gradio. Ada pengecualian bagi akun pribadi gratis dengan status baik untuk menampung hingga 2 Gradio Space di ZeroGPU. Jika pilihan pembuatan Space tidak tersedia pada akun, batas tersebut perlu diselesaikan sebelum alur unggah app.py dapat dilakukan.

Pada perangkat keras gratis, Space yang tidak dipakai dapat berhenti berjalan setelah suatu waktu. Kunjungan berikutnya mungkin harus menunggu aplikasi aktif kembali. Jika tautan demo akan dipakai dalam alur yang menuntut respons terus-menerus, pertimbangkan kebutuhan ketersediaan dan perangkat kerasnya sebelum membagikan tautan sebagai layanan siap pakai.

Periksa tautan sebelum dibagikan

  1. Coba aplikasi di tab App dengan masukan yang mewakili penggunaan sebenarnya, termasuk alur yang membutuhkan Secret.
  2. Sesuaikan penerima tautan dengan mode akses: public membuka kode dan aplikasi; protected membuka aplikasi melalui alamat publiknya; private membatasi keduanya.
  3. Periksa berkas repositori dan keluaran aplikasi agar tidak memuat token atau data yang seharusnya tertutup.
  4. Pastikan hasil yang perlu disimpan sudah diarahkan ke penyimpanan persisten.
  5. Buka alamat yang akan dibagikan dari sesi tanpa hak kolaborator untuk melihat akses yang diterima pengunjung.

Baca juga:

Bagikan:

Berlangganan buletin kami

Dapatkan berita Web3, AI, dan kripto terbaru langsung di kotak masuk Anda.

0