Pinokio adalah browser yang memungkinkan Anda menginstal, menjalankan, dan mengotomatiskan AI apa pun secara lokal di komputer Anda . Segala sesuatu yang dapat Anda jalankan di baris perintah dapat diotomatiskan dengan skrip Pinokio , dengan UI yang ramah pengguna.
Anda dapat menggunakan Pinokio untuk mengotomatiskan apa pun, termasuk:
Instal aplikasi dan model AI
Kelola dan Jalankan aplikasi AI
Buat alur kerja untuk mengatur aplikasi AI yang diinstal
Jalankan perintah apa pun untuk mengotomatiskan berbagai hal di mesin Anda
dan banyak lagi...
Inilah yang membuat Pinokio istimewa:
Lokal: Semuanya terinstal dan berjalan secara lokal. Tidak ada data Anda yang disimpan di server orang lain.
Gratis: Pinokio adalah aplikasi open source yang 100% gratis untuk digunakan tanpa batasan. Tidak ada yang membayar untuk akses API, karena semuanya berjalan di mesin lokal Anda. Mainkan AI sebanyak yang Anda mau, gratis selamanya.
Pribadi: Anda tidak perlu khawatir mengirimkan data pribadi hanya untuk menjalankan AI, semuanya berjalan 100% secara pribadi di mesin Anda sendiri.
Antarmuka yang Ramah Pengguna: Pinokio menyediakan GUI yang ramah pengguna untuk menjalankan dan mengotomatiskan apa pun yang biasanya Anda perlukan untuk menggunakan terminal.
Termasuk Baterai: Pinokio adalah sistem mandiri. Anda tidak perlu menginstal program lain apa pun. Pinokio dapat mengotomatiskan apa pun, termasuk instalasi program/perpustakaan. Satu-satunya program yang Anda butuhkan adalah Pinokio.
Lintas Platform: Pinokio bekerja di SEMUA sistem operasi (Windows, Mac, Linux) .
Hemat Penyimpanan dan Sumber Daya: Pinokio memiliki banyak fitur pengoptimalan yang akan menghemat ratusan gigabyte ruang disk. Selain itu, banyak fitur pengoptimalan sumber daya lainnya (seperti memori) yang semuanya dapat dilakukan dengan Pinokio.
Bahasa Skrip Ekspresif: Skrip Pinokio adalah bahasa skrip otomatisasi yang kuat dengan fitur seperti memori, templating dinamis, dan API tingkat rendah yang dapat diperluas.
Portabel: Semuanya disimpan dalam folder terisolasi dan semuanya ada sebagai file, yang berarti Anda dapat dengan mudah mencadangkan semuanya atau menghapus aplikasi hanya dengan menghapus file.
Pinokio mengambil inspirasi dari cara kerja komputer tradisional.
Sama seperti komputer yang dapat melakukan segala macam hal berkat arsitekturnya yang komprehensif, Pinokio sebagai komputer virtual adalah platform komprehensif untuk menjalankan dan mengotomatiskan apa pun yang dapat Anda bayangkan dengan AI.
Sistem File: Di mana dan bagaimana Pinokio menyimpan file.
Prosesor: Bagaimana pinokio menjalankan tugas.
Memori: Bagaimana pinokio mengimplementasikan mesin negara menggunakan memori asli bawaannya.
Script: Bahasa pemrograman yang mengoperasikan pinokio.
UI: UI (antarmuka pengguna) yang digunakan pengguna untuk mengakses aplikasi.
jendela
Mac
Linux
Pastikan untuk mengikuti SEMUA langkah di bawah ini!
Unduh untuk Windows
Buka zip file yang diunduh dan Anda akan melihat file penginstal .exe.
Jalankan file penginstal dan Anda akan disajikan peringatan Windows berikut:
Pesan ini muncul karena aplikasi diunduh dari Web, dan inilah yang dilakukan Windows untuk aplikasi yang diunduh dari web.
Untuk melewati ini,
Klik "Info Lebih Lanjut"
Lalu klik "Lagi pula"
Pastikan untuk mengikuti KEDUA langkah 1 DAN langkah 2.
Unduh untuk Apple Silicon Mac (M1/M2/M3/M4) Unduh untuk Intel Mac
Setelah mendownload file dmg, Anda WAJIB membuat patch , seperti gambar di bawah ini:
Jalankan file penginstal DMG yang diunduh
Seret aplikasi "Pinokio" ke folder Aplikasi
Jalankan "patch.command"
Buka aplikasi Pinokio di folder aplikasi
Untuk linux, Anda dapat mendownload dan menginstal langsung dari rilis terbaru di Github (Gulir ke bawah ke bagian bawah halaman untuk semua binari):
Buka Halaman Rilis
Untuk terus mengetahui semua API dan integrasi aplikasi baru,
Ikuti @cocktailpeanut di X untuk terus mendapatkan informasi terbaru tentang semua skrip baru yang dirilis dan pembaruan fitur.
Bergabunglah dengan perselisihan Pinokio untuk mengajukan pertanyaan dan mendapatkan bantuan.
Pinokio adalah platform mandiri yang memungkinkan Anda menginstal aplikasi secara terpisah.
Lingkungan Terisolasi: tidak perlu khawatir akan mengacaukan konfigurasi dan lingkungan sistem global Anda
Termasuk Baterai: tidak perlu menginstal program yang diperlukan secara manual hanya untuk menginstal sesuatu (seperti ffpeg , node.js , visual studio , conda , python , pip , dll.). Pinokio menanganinya secara otomatis.
Untuk mencapai hal ini, Pinokio menyimpan semuanya dalam satu folder terisolasi ("pinokio home") , sehingga tidak harus bergantung pada konfigurasi dan program seluruh sistem Anda, tetapi menjalankan semuanya secara mandiri.
Anda dapat mengatur folder utama pinokio saat pertama kali mengatur Pinokio, dan kemudian mengubahnya ke lokasi baru dari tab pengaturan .
Jadi di mana file-file itu disimpan? Klik tombol "File" dari halaman beranda:
Ini akan membuka folder utama Pinokio di file explorer Anda:
Mari kita lihat dengan cepat apa yang dilakukan setiap folder:
api
: menyimpan semua aplikasi yang diunduh (skrip).
Folder di dalam folder ini ditampilkan di rumah Pinokio Anda.
bin
: menyimpan modul yang diinstal secara global yang digunakan bersama oleh beberapa aplikasi sehingga Anda tidak perlu menginstalnya secara berlebihan.
Misalnya, ffmpeg
, nodejs
, python
, dll.
cache
: menyimpan semua file yang secara otomatis di-cache oleh aplikasi yang Anda jalankan.
Jika ada yang tidak berfungsi, menghapus folder ini dan memulai dari awal mungkin dapat memperbaikinya.
Tidak apa-apa untuk menghapus folder cache
karena folder tersebut akan diisi kembali oleh aplikasi yang Anda gunakan saat Anda mulai menggunakan aplikasi.
drive
: menyimpan semua drive virtual yang dibuat oleh fs.link Pinokio API
logs
: menyimpan semua file log untuk setiap aplikasi.
Anda dapat mempelajari lebih lanjut tentang sistem file di sini
Mari kita menulis skrip yang mengkloning repositori git.
Buat folder bernama helloworld
di bawah folder Pinokio api.
Buat file bernama git.json
di bawah folder Pinokio api/helloworld
.
{ "run": [{"method": "shell.run","params": { "message": "git clone https://github.com/pinokiocomputer/test"} }] }
Sekarang ketika Anda kembali ke Pinokio, Anda akan melihat repositori helloworld
Anda muncul. Navigasikan ke dalamnya dan klik tab git.json
untuk menjalankannya:
Anda akan melihat folder api/helloworld/test
telah dikloning dari repositori https://github.com/pinokiocomputer/test.
Kita juga dapat secara dinamis mengubah perintah apa yang harus dijalankan, dan cara menjalankannya, menggunakan templat.
Sebagai contoh, mari kita tulis skrip yang menjalankan dir
di windows, dan ls
di linux dan mac.
Di folder api/helloworld
Anda, buat file bernama files.json
:
{ "run": [{"method": "shell.run","params": { "message": "{{platform === 'win32' ? 'dir' : 'ls'}}"} }] }
Ekspresi templat {{ }}
berisi ekspresi JavaScript
Ada beberapa variabel yang tersedia di dalam setiap ekspresi template, dan salah satunya adalah platform.
Nilai platform
adalah darwin
(mac), win32
(windows), atau linux
(linux).
Artinya, di Windows, skrip di atas setara dengan:
{ "jalankan": [{"metode": "shell.run","params": { "pesan": "dir"} }] }
Atau kalau bukan windows (mac atau linux), setara dengan:
{ "jalankan": [{"metode": "shell.run","params": { "pesan": "ls"} }] }
Anda dapat mempelajari lebih lanjut tentang templat di sini
Saat skrip Pinokio selesai dijalankan, setiap sesi shell yang dihasilkan melalui skrip akan dibuang, dan semua proses terkait akan dihentikan.
Misalnya, mari kita coba meluncurkan server web lokal menggunakan server http. Buat folder baru bernama httpserver
di bawah folder Pinokio api
, dan buat skrip baru bernama index.json
:
{ "jalankan": [{"metode": "shell.run","params": { "pesan": "npx -y http-server"} }] }
Lalu kembali ke Pinokio dan Anda akan melihat aplikasi ini muncul di halaman beranda. Klik dan klik tab index.json
di sidebar, dan itu akan memulai skrip ini, yang akan meluncurkan server web menggunakan npx http-server
.
Namun masalahnya, setelah diluncurkan, server akan langsung mati dan Anda tidak dapat menggunakan server web tersebut.
Ini karena Pinokio secara otomatis mematikan semua proses yang terkait dengan skrip ketika selesai menjalankan semua langkah dalam larik run
.
Untuk menghindari hal ini, Anda perlu memberi tahu Pinokio bahwa aplikasi ini harus tetap aktif bahkan setelah semua langkah dijalankan. Kita hanya perlu menambahkan atribut daemon
:
{ "daemon": benar, "jalankan": [{"metode": "shell.run","params": { "pesan": "npx -y http-server"} }] }
Sekarang coba lagi memulai skrip, dan Anda akan melihat bahwa server web mulai berjalan dan tidak dimatikan.
Server web akan menyajikan semua file di folder saat ini (dalam hal ini hanya index.json
), seperti ini:
Anda dapat menghentikan skrip dengan menekan tombol "stop" di bagian atas halaman.
Pelajari lebih lanjut tentang mode daemon di sini
Anda juga dapat menjalankan banyak perintah dengan satu panggilan shell.run
.
Mari kita coba sebuah contoh. Kami akan menginstal, menginisialisasi, dan meluncurkan mesin dokumentasi dalam satu skrip.
Hal-hal seperti ini dulunya tidak dapat diakses oleh orang normal (karena Anda harus menjalankannya di terminal), tetapi dengan Pinokio, semuanya semudah satu klik.
Buat folder bernama docsify
di bawah folder api
Pinokio
Buat file bernama index.json
di bawah folder api/docsify
. File index.json
akan terlihat seperti berikut:
{ "daemon": benar, "jalankan": [{"metode": "shell.run","params": { "pesan": ["npx -y docsify-cli init docs","npx -y docsify- klik sajikan dokumen" ] } }] }
Contoh ini melakukan 2 hal:
Inisialisasi proyek Dokumentasi docsify
Luncurkan server pengembang docsify
Saat Anda mengeklik tautan server dev dari terminal Pinokio, halaman dokumentasi di browser web akan terbuka:
Pelajari lebih lanjut tentang API
shell.run
di sini
Salah satu kasus penggunaan umum Pinokio adalah:
Membuat/mengaktifkan venv
Instal dependensi ke venv yang diaktifkan
Mari kita coba contoh sederhana. Contoh ini adalah aplikasi gradio minimal dari tutorial gradio resmi
Pertama, buat folder bernama gradio_demo
di bawah folder api
Pinokio.
Selanjutnya, buat file bernama app.py
di folder api/gradio_demo
.
# app.pyimport gradio sebagai grdef sapaan(nama, intensitas):return "Halo, " + nama + "!" * int(intensitas)demo = gr.Interface(fn=sapa,input=["teks", "slider"],output=["teks"], )demo.peluncuran()
Kami juga memerlukan file requirements.txt
yang terlihat seperti ini:
# requirements.txt gradio
Terakhir, kita memerlukan skrip install.json
yang akan menginstal dependensi dari file requirements.txt
:
{ "run": [{"method": "shell.run","params": { "venv": "env", "message": "pip install -r persyaratan.txt"} }] }
Struktur folder akan terlihat seperti ini:
/PINOKIO_HOME /api /gradio_demo app.py requirements.txt install.json
Kembali ke Pinokio dan Anda akan melihat aplikasi gradio_demo
. Klik ke UI dan klik tab install.json
, dan itu akan:
Buat folder venv
di path env
Aktifkan lingkungan env
Jalankan pip install -r requirements.txt
, yang akan menginstal ketergantungan gradio
ke dalam lingkungan env
.
Berikut tampilan proses instalasinya (perhatikan bahwa folder env
baru telah dibuat di bagian akhir):
Pelajari lebih lanjut tentang API venv di sini
lanjutan dari bagian terakhir.
Sekarang mari kita menulis skrip sederhana yang akan meluncurkan server gradio dari app.py
dari bagian terakhir. Buat file bernama start.json
di folder yang sama:
{ "daemon": true, "run": [{"method": "shell.run","params": { "venv": "env", "message": "python app.py"} }] }
Kembali ke Pinokio dan Anda akan melihat bahwa file start.json
sekarang juga muncul di sidebar. Klik untuk memulai skrip start.json
. Ini akan:
aktifkan lingkungan env
yang kita buat dari langkah instalasi
jalankan python app.py
dalam mode daemon ( daemon: true
), yang akan meluncurkan server gradio dan tetap menjalankannya.
Ini akan terlihat seperti ini:
Pelajari lebih lanjut tentang API venv di sini
Pinokio memiliki API lintas platform untuk mengunduh file dengan mudah dan andal (termasuk percobaan ulang otomatis, dll.).
Mari kita coba menulis skrip sederhana yang mengunduh PDF.
Pertama buat folder bernama download
di bawah folder Pinokio api
, lalu buat file bernama index.json
:
{ "jalankan": [{"method": "fs.download","params": { "uri": "https://arxiv.org/pdf/1706.03762.pdf", "dir": "pdf"} }] }
Ini akan mengunduh file di https://arxiv.org/pdf/1706.03762.pdf ke folder bernama pdf
(API fs.download
secara otomatis membuat folder di lokasi tersebut jika belum ada). Berikut tampilannya:
Pelajari lebih lanjut tentang
fs.download
API di sini
Dalam banyak kasus, Anda mungkin ingin memanggil skrip dari skrip lain. Beberapa contoh:
Skrip orkestrasi yang memutar stable diffusion
dan kemudian llama
.
Agen yang memulai stable diffusion
, dan segera membuat permintaan untuk menghasilkan gambar, dan akhirnya menghentikan server stable diffusion
untuk menghemat sumber daya, secara otomatis.
Agen yang membuat permintaan ke titik akhir llama
, lalu memberikan respons ke titik akhir stable diffusion
.
Kita dapat mencapainya dengan menggunakan API script
:
script.start
: Memulai skrip jarak jauh (Download terlebih dahulu jika belum ada)
script.return
: Jika skrip saat ini adalah proses anak, tentukan nilai kembalian, yang akan tersedia pada langkah berikutnya dari skrip pemanggil.
Berikut ini contohnya. Mari kita buat caller.json
dan callee.json
:
caller.json
:
{ "jalankan": [{"metode": "script.start","params": { "uri": "callee.json", "params": { "a": 1, "b": 2 } } }, {"metode": "log","params": { "json2": "{{input}}"} }] }
Langkah pertama, caller.json
akan memanggil callee.json
dengan params { "a": 1, "b": 2 }
.
Objek params ini akan diteruskan ke callee.json
sebagai args
:
callee.json
:
{ "jalankan": [{"metode": "script.return","params": { "respon": "{{args.a + args.b}}"} }] }
Skrip callee.json
segera mengembalikan nilai {{args.a + args.b}}
dengan panggilan script.return
.
Terakhir, caller.json
akan memanggil langkah terakhir log
, yang akan mencetak nilai {{input}}
, yang merupakan nilai kembalian dari callee.json
. Ini akan mencetak 3
:
Bagian terakhir menjelaskan bagaimana Anda dapat memanggil skrip dari dalam repositori yang sama. Namun bagaimana jika Anda ingin memanggil skrip dari repositori lain?
API script.start
juga dapat mengunduh dan menjalankan skrip jarak jauh dengan cepat.
Buat folder bernama remotescript
di bawah folder Pinokio api
dan buat file bernama install.json
di bawah api/remotescript
:
{ "jalankan": [{"method": "script.start","params": { "uri": "https://github.com/cocktailpeanutlabs/moondream2.git/install.js"} }, {"metode": "script.start","params": { "uri": "https://github.com/cocktailpeanutlabs/moondream2.git/start.js"} }, {"id": "run","method": "gradio.predict","params": { "uri": "{{kernel.script.local('https://github.com/cocktailpeanutlabs/ moondream2.git/start.js').url}}", "path": "/answer_question_1", "params": [ { "path": "https://media.timeout.com/images/105795964/750/422/image.jpg" },"Jelaskan apa yang terjadi di sini" ] } }, {"metode": "log","params": { "json2": "{{input}}"} }, {"metode": "script.stop","params": { "uri": "https://github.com/cocktailpeanutlabs/moondream2.git/start.js"} }] }
Langkah pertama memulai skrip https://github.com/cocktailpeanutlabs/moondream2.git/install.js.
Jika repositori moondream2.git
sudah ada di Pinokio, maka skrip install.js akan dijalankan.
Jika belum ada, Pinokio otomatis mengkloning repositori https://github.com/cocktailpeanutlabs/moondream2.git
terlebih dahulu, lalu memulai skrip install.js setelah itu.
Setelah instalasi selesai, kemudian meluncurkan aplikasi gradio menggunakan skrip https://github.com/cocktailpeanutlabs/moondream2.git/start.js. Skrip ini akan kembali setelah server dimulai.
Sekarang kita menjalankan gradio.predict
, menggunakan API kernel.script.local() untuk mendapatkan objek variabel lokal untuk skrip start.js, dan kemudian mendapatkan nilai url
(yang diatur secara terprogram di dalam moondream2.git/start.js
naskah).
Pada dasarnya, langkah ini membuat permintaan ke titik akhir gradio untuk menanyakan LLM "Jelaskan apa yang terjadi di sini", meneruskan sebuah gambar.
Selanjutnya, nilai kembalian dari gradio.predict
dicatat ke terminal menggunakan log
API.
Terakhir kita hentikan script moondream2/start.js
untuk mematikan server gradio moondream menggunakan API script.stop
.
Jika kita tidak memanggil script.stop
, aplikasi moondream2 akan tetap berjalan bahkan setelah skrip ini dihentikan.
Berikut tampilannya:
Kemampuan untuk menjalankan
script.start
, dan kemudianscript.stop
sangat berguna untuk menjalankan AI pada komputer pribadi, karena sebagian besar komputer pribadi tidak memiliki memori yang tidak terbatas, dan komputer Anda akan cepat kehabisan memori jika Anda tidak dapat mematikan mesin AI ini secara terprogram.Dengan
script.stop
Anda dapat memulai skrip, mendapatkan responsnya, dan segera mematikannya setelah tugas selesai, yang akan mengosongkan memori sistem, yang dapat Anda gunakan untuk menjalankan tugas AI berikutnya.
Aplikasi Pinokio memiliki struktur sederhana:
pintasan: Pintasan aplikasi yang muncul di beranda Pinokio.
app: Tata letak UI utama untuk aplikasi
Shortcut
App
Menu: Sidebar yang menampilkan semua link yang dapat Anda jalankan (serta status berjalannya)
Jendela: Area pandang yang menampilkan halaman web , atau terminal yang menjalankan skrip
Secara default jika Anda tidak memiliki file pinokio.js
di proyek Anda,
pintasan menampilkan nama folder sebagai judul, dan ikon default sebagai ikon aplikasi.
menu menampilkan semua file .js
atau .json
di root repositori Anda.
Meskipun mudah untuk memulai, namun tidak cukup fleksibel:
Anda tidak dapat mengontrol apa yang ditampilkan di bilah menu
Anda tidak dapat mengontrol bagaimana skrip diluncurkan (misalnya dengan meneruskan params
)
Anda tidak dapat mengontrol bagaimana aplikasi ditampilkan
Judul aplikasi akan menjadi nama folder Anda
Tidak ada deskripsi
Ikon tersebut hanya akan menampilkan ikon default.
Untuk menyesuaikan perilaku aplikasi Anda, Anda perlu menulis skrip UI bernama pinokio.js
.
Mari kita coba menulis UI minimal:
Buat folder bernama downloader
di folder /PINOKIO_HOME/api
Tambahkan ikon apa saja ke folder /PINOKIO_HOME/api/downloader
dan beri nama icon.png
Buat file bernama /PINOKIO_HOME/api/downloader/download.json
Buat file bernama /PINOKIO_HOME/api/downloader/pinokio.js
/PINOKIO_HOME/api/downloader/icon.png
/PINOKIO_HOME/api/downloader/download.json
{ "run": [{"method": "shell.run","params": { "message": "git clone {{input.url}}"} }] }
/PINOKIO_HOME/api/downloader/pinokio.js
modul.ekspor = { judul: "Unduh Apa Saja", deskripsi: "Unduh repositori git", ikon: "ikon.png", menu: [{teks: "Mulai",href: "download.json",params: { url: "https://github.com/cocktailpeanut/dalai"} }]}
Hasil akhirnya akan terlihat seperti ini di file explorer Anda:
Sekarang kembali ke Pinokio dan segarkan, dan Anda akan melihat aplikasi Anda muncul:
judulnya menampilkan Download Anything
deskripsi menampilkan Download a git repository
ikonnya adalah icon.png
yang telah kami tambahkan
Sekarang ketika Anda mengklik aplikasi, Anda akan melihat yang berikut:
Anda akan melihat item menu Start
.
Klik ini untuk menjalankan download.json
yang ditentukan oleh atribut href
.
Perhatikan juga bahwa skrip meneruskan nilai https://github.com/cocktailpeanut/dalai sebagai nilai params.url
.
params
yang diteruskan ke download.json
tersedia sebagai variabel input
, sehingga git clone {{input.url}}
akan dipakai sebagai git clone https://github.com/cocktailpeanut/dalai
.
Setelah Anda memiliki repositori skrip yang berfungsi, Anda dapat mempublikasikan ke layanan hosting git mana pun dan membagikan URL-nya, dan siapa pun akan dapat menginstal dan menjalankan skrip Anda.
Anda dapat menginstal repositori skrip pinokio dengan sangat mudah:
Klik tombol "Unduh dari URL" di bagian atas halaman Temukan.
Masukkan URL git (Anda juga dapat menentukan cabangnya secara opsional).
Jika Anda memublikasikan ke github, Anda dapat menandai repositori Anda dengan "pinokio" agar repositori tersebut muncul di bagian "terbaru" pada halaman Temukan.
Sekarang secara otomatis akan muncul di bagian "terbaru" (di bagian bawah halaman "Temukan"):
Pinokio membuat bagian "Terbaru" secara otomatis dari GitHub "/repositories" API di https://api.github.com/search/repositories?q=topic:pinokio&sort=updated&direction=desc
Jadi jika Anda menandai repositori Anda sebagai "pinokio" tetapi tidak muncul, periksa hasil API, dan coba cari tahu mengapa repositori tersebut tidak disertakan di sana.
Meskipun penting untuk memahami cara kerja semua ini, dalam banyak kasus Anda mungkin menginginkan "kombo peluncur" sederhana, yang meliputi:
Skrip pemasangan aplikasi: Menginstal dependensi aplikasi
Skrip Peluncuran Aplikasi: Memulai aplikasi
UI: Menampilkan UI peluncur.
Setel ulang skrip: Menyetel ulang status aplikasi ketika terjadi kesalahan.
Perbarui skrip: Memperbarui aplikasi ke versi terbaru dengan 1 klik.
Kasus penggunaan ini sangat sering diperlukan, sehingga kami telah mengimplementasikan program yang secara otomatis menghasilkan skrip ini secara instan. Namanya Gepeto.
Seringkali Anda mungkin ingin berbagi informasi lebih lanjut tentang setiap skrip. Anda dapat menggunakan umpan berita untuk itu.
Untuk melakukan ini, cukup buat file pinokio_meta.json
, dengan atribut array posts
, di mana setiap item adalah URL x.com. Berikut ini contohnya:
{ "postingan": ["https://x.com/cocktailpeanut/status/1819482952071323788","https://x.com/cocktailpeanut/status/1819439443394109837","https://x.com/cocktailpeanut/status/1800944955738685648" ,"https://x.com/cocktailpeanut/status/1754244867159413001","https://x.com/cocktailpeanut/status/1729884460114727197","https://x.com/cocktailpeanut/status/1728075614807048208" ] }
Anda dapat melihatnya beraksi: https://github.com/cocktailpeanutlabs/comfyui/blob/main/pinokio_meta.json
Setelah Anda mempublikasikannya, ini akan segera terlihat di halaman arahan skrip.
<iframe width="1280" height="720" src="https://www.youtube.com/embed/D8jdowszkMg" title="Pemutar video YouTube" frameborder="0"allow="accelerometer; putar otomatis; papan klip- menulis; media terenkripsi; giroskop; gambar-dalam-gambar" izinkan layar penuh></iframe>
Gepeto adalah program yang memungkinkan Anda membuat skrip Pinokio secara otomatis, khususnya untuk peluncur aplikasi.
Mari kita mulai dengan membuat aplikasi dan peluncurnya dalam 1 menit.
<iframe width="1280" height="720" src="https://www.youtube.com/embed/I-_W-MkV8tc" title="Pemutar video YouTube" frameborder="0"allow="accelerometer; putar otomatis; tulis-klip; media terenkripsi; gambar-dalam-gambar" izinkan layar penuh></iframe>
Jika Anda belum menginstal gepeto, temukan di Pinokio dan instal terlebih dahulu.
Anda akan melihat UI web sederhana yang memungkinkan Anda mengisi formulir. Untuk mempermudah, cukup masukkan Helloworld
sebagai nama proyek, dan tekan kirim .
Ini akan menginisialisasi proyek. Ketika Anda kembali ke rumah Pinokio,
Anda akan melihat entri baru bernama Helloworld
. Klik di dalamnya dan Anda akan melihat layar peluncur.
Periksa juga folder /PINOKIO_HOME/api
Anda, Anda akan menemukan folder baru bernama Helloworld
dengan beberapa file skrip.
Sekarang mari klik tombol instal untuk menginstal aplikasi, dan setelah selesai, klik mulai untuk meluncurkan.
Anda akan melihat aplikasi gradio minimal, di mana Anda dapat memasukkan prompt dan itu akan menghasilkan gambar menggunakan Stable Diffusion XL Turbo.
Jadi apa yang baru saja terjadi? Kami baru saja membuat proyek kosong , yang dilengkapi dengan aplikasi demo minimal.
Mari kita lihat setiap file yang dihasilkan di bagian selanjutnya.
Gepeto secara otomatis menghasilkan serangkaian skrip minimal yang diperlukan untuk peluncur aplikasi. Peluncur aplikasi biasa memiliki beberapa fitur berikut:
Instal: Instal dependensi yang diperlukan untuk menjalankan aplikasi. ( install.js
)
Peluncuran: Meluncurkan aplikasi itu sendiri. ( start.js
)
Reset instalasi: Reset semua dependensi yang diinstal jika Anda perlu menginstal ulang yang baru. ( reset.js
)
Pembaruan: Perbarui ke versi terbaru ketika proyek diperbarui. ( update.js
)
GUI: Skrip yang menjelaskan tampilan dan perilaku peluncur di beranda Pinokio dan sebagai menu sidebar. ( pinokio.js
)
Berikut tampilannya:
Perhatikan bahwa selain skrip yang disebutkan di atas, gepeto telah menghasilkan beberapa file tambahan:
app.py
: Aplikasi demo sederhana. Ganti ini dengan kode Anda sendiri.
requirements.txt
: mendeklarasikan semua dependensi PIP yang diperlukan untuk app.py
. Ganti dengan milik Anda sendiri.
icon.png
: File ikon default untuk aplikasi. Ganti dengan milik Anda sendiri.
torch.js
: torch.js
adalah skrip utilitas yang dipanggil dari install.js
. Karena torch digunakan di hampir semua proyek AI, dan cukup sulit untuk menginstalnya secara lintas platform, skrip ini disertakan secara default. Anda tidak perlu khawatir tentang file ini, cukup pahami bahwa file ini digunakan oleh install.js
. Jangan sentuh.
File penting yang perlu dilihat adalah file app.py
dan requirements.txt
:
impor gradio sebagai grimport torchfrom diffusers import DiffusionPipelineimport devicetorch# Dapatkan perangkat saat ini ("mps", "cuda", atau "cpu")device = devicetorch.get(torch)# Buat pipa difusipipe = DiffusionPipeline.from_pretrained("stabilityai/sdxl -turbo").ke(perangkat)# Jalankan inferencedef generate_image(prompt):return pipe( prompt, num_inference_steps=2, kekuatan=0.5, bimbingan_skala=0.0).images[0]# Buat UI input teks + output gambar dengan Gradioapp = gr.Interface(fn=generate_image, inputs="text", outputs="image")app .meluncurkan()
Di bawah ini adalah perpustakaan yang diperlukan untuk menjalankan app.py
.
transformers accelerate diffusers gradio devicetorch
Jadi bagaimana sebenarnya file-file ini digunakan?
Jika Anda melihat ke dalam install.js
, Anda akan melihat bahwa pip install -r requirements.txt
sedang berjalan untuk menginstal dependensi di dalam file, seperti ini:
modul.ekspor = { jalankan: [// Hapus langkah ini jika proyek Anda tidak menggunakan torch{ metode: "script.start", params: {uri: "torch.js",params: { venv: "env", // Edit ini untuk menyesuaikan jalur folder venv // xformers: true // hapus komentar pada baris ini jika proyek Anda memerlukan xformers} }},// Edit langkah ini dengan perintah instalasi khusus Anda{ metode: "shell.run", params: {venv: "env" , // Sunting ini untuk menyesuaikan pesan jalur folder venv: [ "pip install -r requiremen.txt"], }},// Batalkan komentar pada langkah ini untuk menambahkan deduplikasi venv otomatis (Eksperimental)// {// metode: "fs.link",// params: {// venv: "env"// }// },{ method: "notify", params: {html: "Klik tab 'mulai' untuk memulai!" }} ]}
Langkah pertama menjalankan script.start
untuk memanggil skrip bernama torch.js
. Ini menginstal obor.
Langkah kedua menjalankan file pip install -r requirements.txt
untuk menginstal semua yang ada di file itu.