Proyek ini menunjukkan cara menghasilkan gambar menggunakan Difusi Stabil dengan menghosting ComfyUI di Amazon SageMaker Inference. Ini adalah pola desain yang memungkinkan penambahan kemampuan pembuatan gambar GenAI ke aplikasi Anda.
ComfyUI adalah salah satu GUI dan backend terpopuler yang memungkinkan Anda menghasilkan gambar menggunakan Difusi Stabil. Beberapa fitur utama:
Dengan menghosting ComfyUI menggunakan Amazon SageMaker Inference, ini sangat cocok bila Anda ingin:
Ada fungsi Lambda untuk memanggil titik akhir inferensi SageMaker (yang menjalankan ComfyUI) untuk menghasilkan gambar. Misalnya, URL fungsi Lambda dikonfigurasi sehingga Anda dapat menguji pembuatan gambar dengan memanggil titik akhir HTTPS khusus ini.
Cara termudah adalah meluncurkan instans EC2 g5.xlarge
yang menjalankan AMI Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.0 (Amazon Linux 2)
. Hubungkan ke instans menggunakan Session Manager , lalu tambahkan pengguna ke docker
grup dengan menjalankan perintah berikut.
sudo usermod -a -G docker $( whoami )
Putuskan sambungan dan sambungkan kembali agar keanggotaan grup yang diperbarui dapat diterapkan.
- Jika Anda tidak menjalankan ComfyUI secara lokal, instance non-gpu seperti
t3.small
juga dapat berfungsi.- Jika Anda ingin menjalankan model FLUX.1, gunakan setidaknya
g5.2xlarge
atau lebih tinggi untuk versi fp8. gunakan setidaknyag5.4xlarge
untuk versi fp16.
AWS Cloud9 atau mesin lokal juga berfungsi tetapi pastikan yang berikut ini diinstal dengan benar.
Catatan: Apple M1/M2/M3 tidak berfungsi karena pembuatan container lintas arsitektur belum didukung. Anda harus membangun x86_64 yang cocok dengan titik akhir SageMaker.
Langkah 1 - Kloning proyek:
git clone https://github.com/aws-samples/comfyui-on-amazon-sagemaker.git
Langkah 2 - Sesuaikan file berikut (opsional):
FLUX.1 - Jika Anda ingin mencoba model FLUX.1:
- batalkan komentar di sini atau di sini untuk mengunduh model.
- perbarui di sini untuk mengubah
SAGEMAKER_INSTANCE_TYPE
menjadi setidaknyaml.g5.2xlarge
.- gunakan file prompt yang sesuai
flux1-dev-fp8-ckpt.json
atauflux1-schnell-fp8-ckpt.json
dalam permintaan API.
Langkah 3 - Jalankan deploy.sh. Biasanya diperlukan waktu kurang dari satu jam untuk menyelesaikannya.
./deploy.sh
Misalnya, URL fungsi Lambda diaktifkan sehingga Anda dapat menguji pembuatan gambar dengan memanggil titik akhir HTTPS khusus ini. URL titik akhir dapat ditemukan di ComfyUIFunctionUrl
dari keluaran tumpukan.
AWS_IAM
auth dikonfigurasi secara default untuk memanggil URL fungsi lambda, jadi Anda harus menandatangani setiap permintaan HTTP menggunakan AWS Signature Version 4 (SigV4). Alat seperti awscurl, Postman, dan AWS SigV4 Proxy menawarkan cara bawaan untuk menandatangani permintaan Anda dengan SigV4. Anda dapat menonaktifkan autentikasi dengan menyetel LAMBDA_URL_AUTH_TYPE
ke NONE
di deploy.sh tetapi ini berbahaya karena URL fungsi terbuka untuk semua orang.
Contoh otorisasi AWS Signature menggunakan Postman:
Dan berikut adalah contoh isi permintaan:
{
"positive_prompt" : " hill happy dog " ,
"negative_prompt" : " hill " ,
"prompt_file" : " workflow_api.json " ,
"seed" : 11245
}
Doa yang berhasil melihat gambar dihasilkan:
Hapus sumber daya berikut yang disebarkan oleh deploy.sh.
comfyui
)comfyui-sagemaker-<AWS_ACCOUNT_ID>-<AWS_REGION>
)comfyui-sagemaker
) Lihat PERKEMBANGAN
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.