GSP1201

Ringkasan
Lab ini menunjukkan cara membuat dan men-deploy aplikasi chat yang didukung AI menggunakan Cloud Run di Google Cloud. Aplikasi chat ini didukung oleh API Model Bahasa Besar (LLM) Gemini.
Anda akan memanfaatkan API ini di aplikasi web dan men-deploynya ke Cloud Run, menggunakan Cloud Build dan Artifact Repository untuk menyimpan image container dari build aplikasi. Aplikasi ini dapat digunakan sebagai titik awal untuk antarmuka web menggunakan Gemini API.
Di lab ini, Anda akan membuat aplikasi web yang berjalan di Cloud Run yang memanfaatkan API dari Model Bahasa Besar (LLM) Gemini dan menampilkan aplikasi tersebut melalui antarmuka web sederhana yang di-deploy di lab ini.
Dengan membuat aplikasi tersebut, Anda akan mendapatkan pemahaman tentang cara membangun aplikasi web yang dapat memanfaatkan Model Bahasa Besar (LLM), seperti Gemini, untuk menciptakan interaksi berbasis percakapan yang menarik dengan pengguna akhir yang dapat mengajukan pertanyaan dan menerima respons bermanfaat melalui aplikasi chat.
Yang akan Anda pelajari
Di lab ini, Anda akan melakukan hal berikut:
- Membangun image Docker untuk menjalankan aplikasi menggunakan Cloud Build.
- Men-deploy layanan Cloud Run yang menjalankan aplikasi.
- Meninjau kode Python untuk memahami cara aplikasi memanfaatkan model
gemini-2.0-flash
melalui sesi chat.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start 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 interaktif ini dapat Anda gunakan untuk melakukan 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).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud
yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Penyiapan lingkungan
Untuk men-deploy aplikasi Cloud Run, download sumbernya dari bucket Cloud Storage.
- Di Cloud Shell, masukkan perintah berikut.
gsutil cp -R gs://spls/gsp1201/chat-flask-cloudrun .
- Berikutnya, buka folder project.
cd chat-flask-cloudrun
- Tetapkan variabel lingkungan region dan project untuk digunakan di perintah selanjutnya.
export PROJECT_ID={{{ project_0.project_id | "Filled in at lab startup." }}}
export REGION={{{ project_0.startup_script.region | "Filled in at lab startup." }}}
Tugas 2. Membangun image Docker
Berikutnya, bangun image Docker untuk aplikasi dan kirimkan ke Artifact Registry. Setelah image container dibangun dan disimpan, Anda dapat merujuknya untuk men-deploy aplikasi ke Cloud Run.
- Tetapkan variabel lingkungan untuk digunakan di perintah selanjutnya:
export AR_REPO='chat-app-repo'
export SERVICE_NAME='chat-flask-app'
- Jalankan perintah berikut untuk membuat Artifact Repository:
gcloud artifacts repositories create "$AR_REPO" --location="$REGION" --repository-format=Docker
- Konfigurasi autentikasi Docker dan kirim tugas build image container ke Cloud Build:
gcloud builds submit --tag "$REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME"
- Untuk memastikan image telah dikirim ke Artifact Registry, buka halaman Artifact Registry.
- Di kolom judul Konsol Google Cloud, ketik Artifact Registry pada kolom Search, lalu klik Artifact Registry dari hasil penelusuran.
- Pastikan
chat-app-repo
tersedia.
Catatan: Jika Anda menjalankan pemeriksaan di bawah dan mengetahui bahwa Anda perlu mengautentikasi Docker, coba jalankan perintah berikut di Cloud Shell:
gcloud auth configure-docker us-central1-docker.pkg.dev
Klik Check my progress untuk memverifikasi tujuan.
Membangun image Docker
Tugas 3. Men-deploy aplikasi ke Cloud Run
Aplikasi telah didownload dan dibangun melalui Cloud Build. Kini Anda akan men-deploy dan mengujinya di Cloud Run.
- Jalankan perintah berikut di Cloud Shell:
gcloud run deploy "$SERVICE_NAME" --port=8080 --image="$REGION-docker.pkg.dev/$PROJECT_ID/$AR_REPO/$SERVICE_NAME:latest" --allow-unauthenticated --region=$REGION --platform=managed --project=$PROJECT_ID --set-env-vars=GCP_PROJECT=$PROJECT_ID,GCP_REGION=$REGION
Catatan: Langkah ini memerlukan waktu beberapa menit.
- Untuk meluncurkan aplikasi, klik URL layanan yang disediakan di output perintah terakhir. Output-nya akan terlihat mirip dengan output di bawah ini:
Deploying container to Cloud Run service [chat-flask-app] in project [qwiklabs-gcp-03-fda25c1691e3] region [us-central1]
OK Deploying new service... Done.
OK Creating Revision...
OK Routing traffic...
OK Setting IAM Policy...
Done.
Service [chat-flask-app] revision [chat-flask-app-00001-x9r] has been deployed and is serving 100 percent of traffic.
Service URL: https://chat-flask-app-308034796843.us-central1.run.app
- Masukkan kueri berikut ke kotak teks input, lalu klik Send:
What is Google Cloud Platform?
Anda akan menerima respons yang dihasilkan oleh gemini-2.0-flash
API pada kotak teks output di bawah input perintah.
Klik Check my progress untuk memverifikasi tujuan.
Men-deploy aplikasi ke Cloud Run
Tugas 4. Mempelajari kode Python
Untuk lebih memahami cara aplikasi memanfaatkan Gemini Chat Bison API, Anda akan mempelajari secara singkat kode yang digunakan oleh aplikasi.
-
Di Cloud Shell, klik Open Editor yang akan membuka Cloud Shell Editor agar Anda dapat menjelajahi kodenya.
-
Di panel Explore, luaskan folder chat-flask-cloudrun
dan pilih app.py
untuk mulai mempelajari kode.
-
Perhatikan metode Python berikut:
-
create_session
: metode ini akan membuat sesi baru dengan Vertex AI menggunakan model chat_model = GenerativeModel("gemini-2.0-flash")
. Metode ini digunakan oleh rute /gemini
yang akan Anda amati lebih lanjut untuk membuat sesi chat baru.
def create_session():
chat_model = GenerativeModel("gemini-2.0-flash")
chat = chat_model.start_chat()
return chat
-
response
: metode ini mengambil suatu respons.
def response(chat, message):
result = chat.send_message(message)
return result.text
-
index
dan gemini_chat
: metode index
dan gemini_chat
akan menentukan rute untuk API aplikasi. Metode index
memuat halaman index.html
saat pengguna memuat aplikasi, dan metode gemini_chat
mengirimkan perintah pengguna yang dikumpulkan dari halaman index.html
ke API dan menampilkan hasilnya dalam format JSON.
@app.route('/')
def index():
###
return render_template('index.html')
@app.route('/gemini', methods=['GET', 'POST'])
def gemini_chat():
user_input = ""
if request.method == 'GET':
user_input = request.args.get('user_input')
else:
user_input = request.form['user_input']
logger.log(f"Starting chat session...")
chat_model = create_session()
logger.log(f"Chat Session created")
content = response(chat_model,user_input)
return jsonify(content=content)
File index.html
akan menyertakan JavaScript inline untuk membaca hasil dari pengiriman formulir saat pengguna mengklik Send dan memperbarui UI dengan respons panggilan Gemini API.
Selamat!
Sekarang Anda telah menyelesaikan lab! Di lab ini, Anda telah mempelajari cara membangun dan men-deploy aplikasi web sederhana menggunakan Cloud Build dan Artifact Registry. Aplikasi tersebut di-deploy ke Cloud Run dan memanfaatkan Gemini untuk merespons kueri pengguna akhir guna membuat aplikasi berbasis chat yang memungkinkan pengguna akhir mengajukan pertanyaan dan menerima respons dalam UI web.
Langkah berikutnya
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 31 Maret 2025
Lab Terakhir Diuji pada 13 Maret 2025
Hak cipta 2025 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.