Hub documentation
Widget
Widget
Apa itu widget?
Banyak repositori model memiliki widget yang memungkinkan siapa pun untuk menjalankan inferensi langsung di browser. Widget ini didukung oleh Inference Providers, yang memberikan akses yang terpadu dan efisien bagi pengembang ke ratusan model machine learning, didukung oleh mitra inferensi serverless kami.
Berikut adalah beberapa contoh model populer saat ini:
- DeepSeek V3 - Model percakapan open-weights terkini
- Flux Kontext - Model transformer open-weights untuk pengeditan gambar
- Deteksi NSFW Falconsai - Moderasi konten gambar
- Chatterbox dari ResembleAI - Model teks-ke-suara open source tingkat produksi.
Anda dapat menjelajahi lebih banyak model dan widget mereka di halaman model atau mencobanya secara interaktif di Inference Playground.
Mengaktifkan widget
Widget ditampilkan ketika model dihosting oleh setidaknya satu Inference Provider, memastikan kinerja dan keandalan yang optimal untuk inferensi model. Provider secara otonom memilih dan mengontrol model apa yang mereka deploy.
Jenis widget yang ditampilkan (teks ke gambar, pengenalan ucapan otomatis, dll) disimpulkan dari pipeline_tag model, yaitu tag khusus yang Hub coba hitung secara otomatis untuk semua model. Satu-satunya pengecualian adalah widget conversational, yang ditampilkan pada semua model dengan pipeline_tag berupa text-generation atau image-text-to-text. Kami memilih untuk menampilkan hanya satu widget per model demi kesederhanaan.
Untuk beberapa pustaka, seperti transformers, tipe model dapat disimpulkan secara otomatis berdasarkan file konfigurasi (config.json). Arsitektur dapat menentukan tipe: misalnya, AutoModelForTokenClassification sesuai dengan token-classification. Jika Anda tertarik dengan hal ini, Anda dapat melihat pseudo-code di gist ini.
Untuk sebagian besar kasus penggunaan lainnya, kami menggunakan tag model untuk menentukan jenis tugas model. Misalnya, jika ada tag: text-classification di metadata kartu model, pipeline_tag yang disimpulkan akan menjadi text-classification.
Anda selalu dapat menimpa tipe pipeline secara manual dengan pipeline_tag: xxx di metadata kartu model Anda. (Anda juga dapat menggunakan editor GUI metadata untuk melakukan ini).
Bagaimana saya bisa mengontrol input contoh widget model saya?
Anda dapat menentukan input widget di bagian metadata kartu model:
widget:
- text: "This new restaurant has amazing food and great service!"
example_title: "Positive Review"
- text: "I'm really disappointed with this product. Poor quality and overpriced."
example_title: "Negative Review"
- text: "The weather is nice today."
example_title: "Neutral Statement"Anda dapat menyediakan lebih dari satu contoh input. Di menu dropdown contoh pada widget, mereka akan muncul sebagai Example 1, Example 2, dan seterusnya. Secara opsional, Anda juga dapat menyediakan example_title.

widget:
- text: "Is this review positive or negative? Review: Best cast iron skillet you will ever buy."
example_title: "Sentiment analysis"
- text: "Barack Obama nominated Hilary Clinton as his secretary of state on Monday. He chose her because she had ..."
example_title: "Coreference resolution"
- text: "On a shelf, there are five books: a gray book, a red book, a purple book, a blue book, and a black book ..."
example_title: "Logic puzzles"
- text: "The two men running to become New York City's next mayor will face off in their first debate Wednesday night ..."
example_title: "Reading comprehension"Selain itu, Anda dapat menentukan contoh input non-teks dalam metadata kartu model. Lihat di sini untuk daftar lengkap format input contoh untuk semua jenis widget. Untuk jenis widget visi & audio, berikan contoh input dengan src alih-alih text.
Sebagai contoh, izinkan pengguna memilih dari dua file audio sampel untuk tugas pengenalan ucapan otomatis dengan cara:
widget:
- src: https://example.org/somewhere/speech_samples/sample1.flac
example_title: Speech sample 1
- src: https://example.org/somewhere/speech_samples/sample2.flac
example_title: Speech sample 2Perhatikan bahwa Anda juga dapat menyertakan file contoh di repositori model Anda dan menggunakannya sebagai:
widget:
- src: https://huggingface.co/username/model_repo/resolve/main/sample1.flac
example_title: Custom Speech Sample 1Namun yang lebih praktis lagi, jika file berada di repo model yang sesuai, Anda cukup menggunakan nama file atau path file di dalam repo:
widget:
- src: sample1.flac
example_title: Custom Speech Sample 1atau jika file tersebut bersarang di dalam repositori:
widget:
- src: nested/directory/sample1.flacKami menyediakan contoh input untuk beberapa bahasa dan sebagian besar jenis widget di file default-widget-inputs.ts. Jika ada contoh yang belum tersedia, kami menyambut PR dari komunitas untuk menambahkannya!
Contoh keluaran
Sebagai perluasan dari contoh input, untuk setiap contoh widget, Anda juga dapat secara opsional menjelaskan output model yang sesuai, langsung di properti output.
Hal ini berguna ketika model belum didukung oleh Inference Providers, sehingga halaman model tetap dapat menampilkan cara kerja model dan hasil yang diberikan.
Sebagai contoh, untuk model automatic-speech-recognition:
widget:
- src: sample1.flac
output:
text: "Hello my name is Julien"

Properti output harus berupa kamus YAML yang merepresentasikan format keluaran dari Inference Providers.
Untuk model yang mengoutputkan teks, lihat contoh di atas.
Untuk model yang mengoutputkan label (misalnya model text-classification), output seharusnya terlihat seperti ini:
widget:
- text: "I liked this movie"
output:
- label: POSITIVE
score: 0.8
- label: NEGATIVE
score: 0.2

Terakhir, untuk model yang menghasilkan gambar, audio, atau jenis aset lainnya, output harus menyertakan properti url yang berisi tautan ke nama file atau path di dalam repo, atau ke URL remote. Sebagai contoh, untuk model text-to-image:
widget:
- text: "picture of a futuristic tiger, artstation"
output:
url: images/tiger.jpg

Kita juga dapat menampilkan output contoh di antarmuka Hugging Face, misalnya, untuk model teks-ke-gambar guna menampilkan galeri generasi gambar yang menarik.

Ketersediaan Widget dan Dukungan Provider
Tidak semua model memiliki widget yang tersedia. Ketersediaan widget bergantung pada:
- Dukungan Tugas: Tugas model harus didukung oleh setidaknya satu penyedia dalam jaringan Inference Providers
- Ketersediaan Provider: Minimal satu provider harus menyajikan model spesifik
- Konfigurasi Model: Model harus memiliki metadata dan file konfigurasi yang tepat
Untuk melihat daftar lengkap tugas yang didukung, lihat halaman dokumentasi khusus kami.
Daftar semua penyedia dan tugas yang mereka dukung tersedia di halaman dokumentasi ini.
Untuk model tanpa dukungan penyedia, Anda tetap dapat menampilkan fungsionalitas menggunakan contoh output di kartu model Anda.
Anda juga dapat mengklik Minta dukungan penyedia langsung di halaman model untuk mendorong penyedia agar menyajikan model tersebut, asalkan ada minat komunitas yang cukup.
Menjelajahi Model dengan Inference Playground
Sebelum mengintegrasikan model ke dalam aplikasi Anda, Anda dapat mengujinya secara interaktif dengan Inference Playground. Playground memungkinkan Anda untuk:
- Uji coba berbagai model pelengkapan obrolan dengan prompt kustom
- Bandingkan respons di antara berbagai model
- Eksperimen dengan parameter inferensi seperti temperature, max tokens, dan lainnya
- Temukan model yang sempurna untuk kasus penggunaan spesifik Anda
Playground menggunakan infrastruktur Inference Providers yang sama yang menggerakkan widget, sehingga Anda dapat mengharapkan kinerja dan kemampuan yang serupa saat mengintegrasikan model ke aplikasi Anda sendiri.
Update on GitHub