Kegunaan model AI hari ini sangat berkurangan tanpa antara muka pengguna yang boleh diakses. Menggunakan Gradio, perpustakaan UI Web Python sumber terbuka, anda boleh menjembatani jurang antara LLM dan pengguna akhir bukan teknikal. Ia membolehkan anda membuat prototaip pesat untuk projek AI anda dan memudahkan penggunaannya kepada khalayak yang lebih luas.
Tutorial ini bertujuan untuk jurutera pembelajaran mesin yang biasanya tidak mempunyai pengalaman pembangunan web. Ia meliputi asas -asas Gradio dan konsep teras, penciptaan antara muka untuk pelbagai jenis model AI, ciri -ciri canggih untuk UX dan interaktiviti, dan penempatan dan perkongsian amalan terbaik.
mari kita mulakan.Bermula dengan Gradio
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
$ pip install gradio ipykernel
$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
import gradio as gr print(gr.__version__) 4.37.1
def greet(name): return f"Hello, {name}!" demo = gr.Interface( fn=greet, inputs=['text'], outputs="text", ) demo.launch()
Gradio berkisar beberapa konsep utama:
Komponen Vadio
demo.launch(share=True) Running on public URL: https://d638ed5f2ce0044296.gradio.live This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run gradio deploy from Terminal to deploy to Spaces (https://huggingface.co/spaces)
Gradio menawarkan pelbagai komponen untuk membina antara muka interaktif. Komponen ini biasanya dibahagikan kepada dua kategori: input dan output.
Komponen input membolehkan pengguna menyediakan data kepada pemproses asas (ini boleh menjadi fungsi python). Beberapa input biasa adalah:
Berikut adalah antara muka dummy yang menggunakan beberapa komponen di atas:
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
Dalam contoh ini, fungsi Process_Inputs memerlukan lima parameter. Oleh itu, kita perlu membuat lima komponen input dan menyampaikannya kepada input. Walaupun bilangan komponen input sepadan dengan bilangan parameter fungsi yang diperlukan, ini bukan peraturan yang ketat. Untuk mengelakkan kesilapan dan amaran, tetapkan nilai lalai untuk parameter yang tidak memerlukan input pengguna dari UI.
Banyak komponen input boleh digunakan untuk memaparkan output juga. Berikut adalah beberapa senario biasa:
Menyesuaikan penampilan komponen
$ pip install gradio ipykernel
Dalam contoh ini, kami telah menyesuaikan komponen TextBox dengan menentukan bilangan baris, menambah teks pemegang tempat dan maklumat, dan termasuk butang salinan untuk output.
Eksperimen dengan komponen yang berbeza dan sifat mereka untuk mewujudkan antara muka yang paling sesuai dengan keperluan aplikasi AI anda. Untuk mengetahui jenis sifat yang boleh anda ubah untuk komponen anda, anda boleh melawat dokumennya, atau lebih baik lagi, gunakan? Operand di Jupyter Lab selepas nama kelasnya:
Bangunan antara muka untuk llms
Pertama, kita akan membina penterjemah bahasa dari bahasa Inggeris ke bahasa Turki, Sepanyol, atau Cina:
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
Pada mulanya, kami menentukan fungsi translate_text. Di dalam badannya, kami menetapkan kunci API OpenAI dan membuat peta bahasa. Kemudian, kami membina prompt untuk terjemahan. Kemudian, di dalam blok percubaan cuba, kami menghantar permintaan ke titik akhir chatcompletion dengan prompt sistem. Pada akhirnya, kami mengembalikan pilihan pertama.
Sekarang, kita boleh membina antara muka:
$ pip install gradio ipykernel
Kod ini mudah, seperti antara muka terdahulu, tetapi kami memperkenalkan beberapa sifat baru:
inilah hasilnya:
Jika kami menyediakan kunci API kami sendiri sebagai pemboleh ubah persekitaran (yang merupakan amalan standard), versi aplikasi yang boleh dibagikan secara awam tidak akan berfungsi kerana ia tidak akan mendapat akses kepada pembolehubah persekitaran kami. Di bahagian penempatan, kami akan melihat bagaimana untuk membetulkannya dengan menggunakan aplikasi kami ke ruang pelukan.
mari kita bina UI lain untuk menjana imej:
$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
import gradio as gr print(gr.__version__) 4.37.1
dan inilah hasilnya:
Bangunan antara muka untuk model ML klasik
Mula dengan membuat direktori kerja baru dan skrip baru bernama App.py di dalam. Kemudian, tampal kod dari inti GitHub ini yang memuatkan data, memprosesnya menggunakan saluran paip SCIKIT-learn dan melatih model Randorestregression.
Langkah seterusnya adalah untuk membuat fungsi pemprosesan yang menerima bilangan input yang sama kerana terdapat ciri -ciri dalam dataset Diamonds:
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
Fungsi menukarkan input tersebut ke dalam DataFrame dan meluluskannya ke kaedah .Predict () kaedah saluran paip yang terlatih. Pada akhirnya, ia mengembalikan rentetan dengan harga yang diramalkan.
Sekarang, kelas antara muka mesti sepadan dengan tandatangan fungsi ini: Sembilan komponen input untuk memproses ciri -ciri dan satu output untuk memaparkan harga yang diramalkan:
$ pip install gradio ipykernel
Di dalam kelas, kami mencipta tiga dropdowns untuk ciri -ciri kategori. Pilihan diisi dengan kategori unik dalam setiap ciri. Kami juga membuat enam komponen slider untuk menerima ciri -ciri angka. Julat slider ditentukan oleh nilai minimum dan maksimum setiap ciri.
yang perlu kita lakukan sekarang ialah melaksanakan skrip untuk menjalankan dan menggunakan aplikasi:
$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
inilah hasilnya:
Menggunakan App Vadio
Oleh itu, untuk tutorial ini atau mana -mana aplikasi masa depan yang anda buat dengan Gradio, mendaftar untuk akaun percuma di huggingface.co dan navigasi ke tetapan & gt; Token untuk menghasilkan token akses:
token dipaparkan hanya sekali, jadi pastikan untuk menyimpannya di tempat yang selamat.
Dengan token ini, anda boleh menggunakan seberapa banyak aplikasi Gradio yang anda inginkan dengan hosting kekal di ruang. Sebagai contoh, kami akan menggunakan model ramalan Harga Berlian dari bahagian sebelumnya, dan anda akan merasa mudah.
semua yang anda perlu lakukan ialah menavigasi ke direktori dengan skrip UI dan hubungi Stadio yang digunakan di terminal:
Terminal berjalan anda melalui menukar skrip anda ke ruang pelukis yang berfungsi. Ia meminta butiran seperti:
token akses yang anda hasilkan
Satu lagi perkara yang hebat mengenai kaedah penggunaan ini ialah Gradio secara automatik menukarkan demo ke API REST yang bekerja. Arahan untuk mengakses dan menanyakannya sentiasa terletak di bahagian bawah:
Untuk lebih banyak pilihan penggunaan dan perkongsian, seperti membenamkan demo ke dalam halaman web, menambah pengesahan Google ke aplikasi, dan lain -lain, lawati bahagian "berkongsi aplikasi anda" dokumentasi Gradio.
Amalan dan Petua Terbaik VadioApabila membangunkan antara muka pengguna dengan Gradio, berikutan amalan terbaik dapat meningkatkan pengalaman pengguna dan mengekalkan aplikasi anda dengan ketara. Berikut adalah beberapa cadangan utama:
menganjurkan aplikasi Gradio dalam skrip Python untuk kawalan, kerjasama, dan penggunaan versi yang lebih baik.
Gunakan alat saiz dan susun atur yang sesuai (mis., Gr.column (), gr.row ()) untuk memastikan antara muka yang seimbang, responsif.
menggunakan atribut 'Info' dan 'Label' untuk memberikan arahan dan konteks yang jelas untuk setiap komponen.
Untuk model dengan banyak ciri, gunakan input fail (CSV, JSON) untuk membolehkan ramalan batch dan memudahkan antara muka.
Gunakan python-dotenv untuk pembangunan tempatan dan tetapkan pembolehubah dalam memeluk ruang muka untuk penempatan.
Mengesahkan input, berikan mesej ralat yang jelas, dan gunakan blok percubaan cuba untuk pengendalian ralat anggun.
Melaksanakan caching, memuatkan malas untuk model besar, dan gunakan gr.loadingStatus () untuk tugas jangka panjang.
Pastikan kontras yang tinggi, sediakan teks alt untuk imej, dan membolehkan navigasi papan kekunci untuk semua elemen interaktif.
Gunakan akordion atau tab untuk mengatur antara muka yang kompleks, mendedahkan pilihan lanjutan seperti yang diperlukan.
Pastikan kebergantungan dikemas kini, memantau pepijat, dan terus bertambah baik berdasarkan maklum balas pengguna.
Gunakan alat dan sumber daya Huggingface untuk integrasi lancar dengan Gradio, termasuk repositori model dan dataset.
Untuk model tabular besar, muat naik ke HUB HUGGINGFACE dan memuatkan terus dalam skrip Gradio anda untuk meningkatkan prestasi dan mengurangkan keperluan penyimpanan tempatan.
Untuk dataset yang besar, muat naik ke HUB Huggingface dan mengaksesnya secara langsung dalam aplikasi Gradio anda untuk menyelaraskan pengurusan data dan meningkatkan masa pemuatan.
Dalam artikel ini, kami telah mempelajari asas -asas bangunan antara muka pengguna untuk aplikasi AI menggunakan Gradio. Kami baru sahaja dicelup di bawah permukaan kerana Gradio menawarkan lebih banyak ciri untuk membina antara muka kompleks. Sebagai contoh, keadaan antara muka membolehkan aplikasi anda mengingati output dari satu panggilan fungsi ke yang lain. Antara muka reaktif secara dinamik mengubah UI sebaik sahaja input pengguna berubah. Dengan blok, anda boleh membina aplikasi dengan susun atur dan reka bentuk tersuai.
Begitu juga, lihat sumber -sumber yang berkaitan ini untuk lebih banyak kandungan:
Atas ialah kandungan terperinci Membina antara muka pengguna untuk aplikasi AI dengan Gradio di Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!