Solusi ini berisi backend tanpa server dan aplikasi front-end ReactJS yang membuat deskripsi produk dari gambar dan input teks, menyempurnakan dan menerjemahkan deskripsi produk menggunakan layanan AI generatif terkelola yang baru, Amazon Bedrock.
Bisnis ritel seringkali memiliki ribuan atau jutaan produk, yang semuanya memerlukan deskripsi yang akurat dan efektif. Pengecer sering kali memiliki metadata atau gambar untuk produk ini yang dapat diberikan sebagai masukan ke model AI generatif untuk mempercepat proses pembuatan deskripsi produk.
Anda bertanggung jawab atas biaya layanan AWS yang digunakan saat menjalankan Panduan ini. Mulai November 2023, biaya untuk menjalankan Panduan ini dengan pengaturan default di AS Timur (Virginia Utara) adalah sekitar $86 per bulan untuk memproses 1000 produk setiap bulan.
Panduan ini mencakup layanan AWS Rekognition, Bedrock, Cognito, Lambda, API Gateway, dan CloudWatch dengan biaya sebagai berikut:
Secara konservatif (berbuat salah karena melebih-lebihkan), menggunakan solusi ini untuk menghasilkan deskripsi produk berdasarkan gambar masukan 1000 kali per bulan (termasuk menghasilkan terjemahan ke dalam bahasa Spanyol, Jerman, dan Prancis), dan dengan asumsi kasus terburuk 30 detik per pemanggilan fungsi Lambda dan 1000 token input/output untuk semua panggilan ke model Claude Instan dan Jurassic, biayanya kira-kira sebagai berikut:
Anda harus menginstal semua prasyarat di mesin lokal Anda:
cdk
) seperti yang didokumentasikan di sini. Anda juga perlu menjalankan cdk bootstrap
jika Anda belum pernah menggunakan CDK sebelumnya di akun Anda seperti yang dibahas di sini. CATATAN: Docker harus diinstal dan dijalankan . Anda dapat memastikan bahwa daemon Docker berjalan dengan memastikan bahwa perintah seperti docker ps
berjalan tanpa kesalahan. Jika tidak ada container yang berjalan, maka docker ps
akan mengembalikan daftar container kosong seperti ini:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Buat lingkungan EC2 di AWS Cloud9, luncurkan instans EC2 ke subnet publik, dan tuliskan alamat IPv4 Publiknya (#cloud9_ec2_ip).
Ubah ukuran volume EBS yang digunakan lingkungan (dibuat pada Langkah 1) menjadi setidaknya 20 GB. Muncul dengan 10GB untuk t2.micro secara default.
Kloning repo:
git clone https://github.com/aws-solutions-library-samples/guidance-for-generating-product-descriptions-with-bedrock.git
cd ke folder repo:
cd guidance-for-generating-product-descriptions-with-bedrock
(Opsional) buat virtualenv Python baru untuk dependensi spesifik proyek:
python -m venv .env && source .env/bin/activate
Instal dependensi CDK:
pip install -r deployment/requirements.txt
Bootstrapping untuk AWS CDK, jika belum pernah dilakukan sebelumnya:
cd deployment && cdk bootstrap
Terapkan backend:
cd deployment && cdk deploy
cd kembali ke root proyek:
cd ..
Buat pengguna Cognito awal:
deployment/create-user.sh <>
Perbarui config.js
dengan nilai yang sesuai dari keluaran tumpukan CDK. Hal ini dapat dilakukan secara otomatis dengan menjalankan
deployment/update-config.sh
Instal dependensi frontend:
cd source/frontend && npm install
Jalankan contoh aplikasi klien, dan tuliskan nomor port (#web_port) yang didengarkan webpack, mis. 8080.
npm start
Buka Grup Keamanan EC2 yang dibuat pada Langkah 1, tambahkan aturan masuk, yang mengizinkan TCP Kustom, Rentang port #web_port, Sumber “IP Saya”, lalu Simpan aturan.
Penerapan akan berhasil jika semua perintah di atas selesai tanpa kesalahan. Anda dapat menelusuri sumber daya backend yang dibuat dengan menavigasi ke layanan CloudFormation di Konsol AWS, menemukan tumpukan bernama LambdaStack
, dan menelusuri sumber dayanya.
Anda dapat mencoba aplikasi web demo dengan mengikuti langkah-langkah berikut:
Lihat halaman produk Bedrock untuk sumber daya lebih lanjut tentang penggunaan Amazon Bedrock.
Infrastruktur yang disediakan dapat dihapus dengan menjalankan perintah berikut:
cd deployment && cdk destroy
Pertimbangan dan batasan tambahan