Checkpoint
Use cURL to test sample prompts with the API
/ 15
Write Streamlit framework code for the user interface
/ 25
Test the application in Cloud Shell
/ 20
Modify the Dockerfile and push the Docker image to the Artifact Registry
/ 20
Deploy the application to Cloud Run and test it
/ 20
Pengembangan aplikasi GenAI dengan Gemini dan Streamlit: Challenge Lab
- GSP517
- Ringkasan
- Penyiapan dan persyaratan
- Skenario tantangan
- Tugas 1. Gunakan cURL untuk menguji prompt dengan API.
- Tugas 2. Tulis framework Streamlit dan jalankan kode Python untuk menyelesaikan chef.py.
- Tugas 3. Uji aplikasi.
- Tugas 4. Ubah Dockerfile dan kirim image Docker ke Artifact Registry.
- Tugas 5. Deploy aplikasi ke Cloud Run lalu uji.
- Selamat!
GSP517
Ringkasan
Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam kursus untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.
Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.
Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.
Lab ini direkomendasikan bagi siswa yang sudah mengikuti kursus GenAI application development with Gemini and Streamlit. Apakah Anda siap menghadapi tantangan ini?
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Skenario tantangan
Anda bergabung di Cymbal Health beberapa bulan yang lalu. Cymbal Health adalah jaringan kesehatan berpengalaman di East Central Minnesota yang didedikasikan untuk merombak dan mentransformasi cara pemberian layanan kesehatan. Cymbal Health menghubungkan perawatan dan perlindungan asuransi dalam satu paket kesehatan untuk memudahkan pasien menerima perawatan berkualitas tinggi dengan biaya terjangkau.
Sebagai layanan bernilai tambah, Cymbal Health tertarik untuk meningkatkan kualitas Hidup Sehat dan Kebugaran pelanggan, dengan memberikan tips dan saran dalam aplikasi. Salah satu bidang tertentu yang ingin mereka fokuskan adalah peningkatan nutrisi pelanggan.
Dengan memanfaatkan kekuatan Gemini Pro, model multimodal untuk menghasilkan teks, audio, gambar, dan video, Cymbal Health dapat membangun aplikasi yang menghasilkan rekomendasi makanan bagi pelanggannya.
Sebagai contoh, tim Anda telah berupaya membuat aplikasi Chef Berbasis AI, yang menghasilkan resep berdasarkan preferensi masakan pelanggan, batasan diet, alergi makanan, dan bahan yang biasanya tersedia di rumah atau dapat dibeli di toko bahan makanan. Tugas Anda adalah membuat, menguji, dan men-deploy Bukti Konsep (POC) untuk aplikasi Chef ini yang dibangun pada model Gemini Pro, framework Streamlit, dan Cloud Run. Sebagai bagian dari POC ini, mereka membuat daftar berisi tugas-tugas yang harus Anda selesaikan dalam kurun waktu tertentu di lingkungan sandbox.
Tantangan Anda
Tugas Anda adalah sebagai berikut:
- Gunakan cURL untuk menguji prompt dengan API.
- Tulis framework Streamlit dan jalankan kode Python untuk menyelesaikan
chef.py
. - Uji aplikasi.
- Ubah Dockerfile dan kirim image Docker ke Artifact Registry.
- Deploy aplikasi ke Cloud Run lalu uji.
Tugas 1. Gunakan cURL untuk menguji prompt dengan API.
Sebelum Anda dapat mulai membuat aplikasi Chef di Vertex AI, Anda harus menguji konektivitas dengan Gemini API.
-
Akses Notebook yang Dikelola Pengguna Vertex AI Workbench yang diberikan kepada Anda dalam Konsol Cloud di lingkungan lab.
-
Buka terminal, dan download file prompt.ipynb dari Cloud Storage menggunakan perintah di bawah ini:
gsutil cp gs://spls/gsp517/prompt.ipynb . -
Untuk menyertakan project_ID dan region Anda dalam sel 3, ubah
prompt.ipynb
. Anda bisa mendapatkan informasi ini di panel kiri petunjuk lab. -
Untuk menggunakan prompt berikut dengan cURL dalam sel 5, ubah
prompt.ipynb
dengan mengganti prompt yang ada.I am a Chef. I need to create Japanese recipes for customers who want low sodium meals. However, I do not want to include recipes that use ingredients associated with a peanuts food allergy. I have ahi tuna, fresh ginger, and edamame in my kitchen and other ingredients. The customer wine preference is red. Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the beginning of the response. Then include the wine pairing for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts. -
Jalankan semua sel lalu amati hasilnya.
-
Simpan
prompt.ipynb
.
Setelah Anda puas dengan hasilnya, verifikasi tujuannya.
Untuk memverifikasi tujuan, klik Check my progress.
Tugas 2. Tulis framework Streamlit dan jalankan kode Python untuk menyelesaikan chef.py.
Untuk tugas ini, Anda akan meng-clone repo GitHub dan mendownload file chef.py
. Kemudian Anda akan menambahkan kode framework Streamlit di file chef.py
untuk preferensi minuman anggur, guna melengkapi antarmuka pengguna aplikasi. Anda juga akan menyertakan prompt Gemini khusus (mirip dengan yang ada di tugas 1), tetapi yang ini menyertakan variabel.
-
Dengan menggunakan Cloud Shell, clone repo di bawah ini dari direktori default.
git clone https://github.com/GoogleCloudPlatform/generative-ai.git -
Buka direktori
gemini-streamlit-cloudrun
.cd generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun Penting: Semua pekerjaan di Challenge Lab ini harus dilakukan dalam direktori ini. Jika Anda tidak mendownload file chef.py
di sini dan mengubahnya di sini, file tersebut tidak akan dapat mengakses framework Streamlit. Anda juga tidak akan dapat mengujinya di Cloud Shell (Tugas 3), atau membuat container Docker (Tugas 4), lalu men-deploy dan mengujinya di Cloud Run (Tugas 5). -
Download file
chef.py
menggunakan perintah berikut.gsutil cp gs://spls/gsp517/chef.py . -
Buka file chef.py di Cloud Shell Editor dan tinjau kodenya.
Catatan: File chef.py sudah menyertakan kode antarmuka pengguna framework Streamlit untuk variabel cuisine, dietary_preference, allergy, ingredient_1, ingredient_2, dan ingredient_3. Tinjau kode antarmuka ini sebelum menyelesaikan langkah berikutnya. -
Tambahkan opsi tombol pilihan framework Streamlit untuk variabel minuman anggur. Sertakan opsi untuk Anggur Merah, Anggur Putih Merah, dan Tidak Ada.
-
Simpan file
chef.py
. -
Tambahkan prompt Gemini baru di bawah ini dalam kode Python.
prompt = f"""I am a Chef. I need to create {cuisine} \n recipes for customers who want {dietary_preference} meals. \n However, don't include recipes that use ingredients with the customer's {allergy} allergy. \n I have {ingredient_1}, \n {ingredient_2}, \n and {ingredient_3} \n in my kitchen and other ingredients. \n The customer's wine preference is {wine} \n Please provide some for meal recommendations. For each recommendation include preparation instructions, time to prepare and the recipe title at the beginning of the response. Then include the wine pairing for each recommendation. At the end of the recommendation provide the calories associated with the meal and the nutritional facts. """ -
Simpan file
chef.py
.
Setelah puas dengan kode prompt Gemini yang Anda tambahkan di chef.py
, upload file ke bucket
Untuk memverifikasi tujuan, klik Check my progress.
chef.py
. Hal tersebut bertujuan agar file chef.py
yang diperbarui ada di bucket.Tugas 3. Uji aplikasi.
Untuk tugas ini Anda akan menggunakan terminal di Cloud Shell untuk menjalankan dan menguji aplikasi Anda.
Pastikan Anda masih berada di jalur ini, generative-ai/gemini/sample-apps/gemini-streamlit-cloudrun
.
-
Siapkan lingkungan virtual Python dan instal dependensi.
-
Tetapkan variabel lingkungan untuk PROJECT (sebagai project ID Anda) dan REGION (sebagai region yang Anda gunakan di lingkungan lab).
-
Jalankan aplikasi
chef.py
lalu lakukan pengujian.
Setelah Anda menguji aplikasi di Cloud Shell dan mengonfirmasi bahwa aplikasi berfungsi sesuai desain, tanpa error, verifikasi tujuannya.
Untuk memverifikasi tujuan, klik Check my progress.
Tugas 4. Ubah Dockerfile dan kirim image Docker ke Artifact Registry.
Dalam tugas ini, modifikasi Dockerfile
sampel untuk menggunakan file chef.py
dan mengirim image Docker ke Artifact Registry.
-
Gunakan editor Cloud Shell untuk mengubah Dockerfile agar menggunakan
chef.py
, lalu simpan file tersebut. -
Di Cloud Shell, tetapkan variabel lingkungan berikut:
Variabel Nilai AR_REPO 'chef-repo' SERVICE_NAME 'chef-streamlit-app' Catatan: Sebaiknya gabungkan perintah ini dan dua perintah berikut ke dalam satu perintah, karena proses pembuatan Artifact Registry dan pengiriman build ke Cloud Build memerlukan waktu sekitar 8 menit. -
Buat repositori Artifact Registry dengan perintah
gcloud artifacts repositories create
dan parameter berikut.Parameter Nilai repo name $AR_REPO location $REGION repository format Docker -
Kirimkan build dengan perintah
gcloud builds submit
dan parameter berikut.Parameter Nilai tag "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" -
Tunggu hingga perintah selesai.
Setelah perintah selesai, verifikasi tujuannya.
Untuk memverifikasi tujuan, klik Check my progress.
Tugas 5. Deploy aplikasi ke Cloud Run lalu uji.
Dalam tugas ini Anda men-deploy aplikasi (sebagai Docker Artifact) ke Cloud Run, lalu menguji apakah aplikasi tersebut berjalan dari endpoint layanan Cloud Run.
-
Di Cloud Shell, deploy aplikasi (sebagai Docker Artifact), menggunakan perintah
gcloud run deploy
dan nilai-nilai parameter berikut:Parameter Nilai port 8080 image "$REGION-docker.pkg.dev/$PROJECT/$AR_REPO/$SERVICE_NAME" flag --allow-unauthenticated region REGION platform managed project PROJECT set-env-vars PROJECT=$PROJECT,REGION=$REGION Catatan: Anda mungkin melihat prompt yang menanyakan "Do you want enable these APIs to continue (this will take a few minutes)?" Jika Anda menginginkannya, pilih Y untuk mengonfirmasi. Deployment akan selesai dalam waktu beberapa menit dan Anda akan diberi URL ke layanan Cloud Run. Anda dapat mengunjunginya di browser untuk melihat aplikasi Cloud Run yang baru saja di-deploy.
-
Uji aplikasi dengan link yang disediakan.
Setelah berhasil menguji aplikasi yang berjalan di Cloud Run, verifikasi tujuannya.
Untuk memverifikasi tujuan, klik Check my progress.
Selamat!
Dengan menyelesaikan Challenge Lab ini, Anda berhasil membuktikan keterampilan Anda dalam mengembangkan aplikasi GenAI dengan Gemini dan cara menerapkannya pada aplikasi chef berbasis AI.
Langkah berikutnya/Pelajari lebih lanjut
- Lihat dokumentasi Generative AI di Vertex AI.
- Pelajari AI Generatif lebih lanjut di channel YouTube Google Cloud Tech.
- Repositori resmi AI Generatif Google Cloud
- Contoh notebook Gemini
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 4 April 2024
Lab Terakhir Diuji pada 08 Maret 2024
Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.