1. Pengantar
Dalam codelab ini, saya telah mencantumkan langkah-langkah untuk membangun aplikasi web yang memungkinkan Anda melakukan ringkasan teks menggunakan Vertex AI Large Language Model untuk pembuatan teks ( text-bison) API dalam framework Svelte Kit. Daftar layanan dan stack teknologi yang digunakan adalah:
- Svelte Kit: Framework aplikasi web yang dibangun di atas Svelte.
- Vertex AI PaLM 2 API: API model bahasa besar (LLM) yang menyediakan akses ke model PaLM 2 AI Google.
- Cloud Functions: Platform serverless untuk menjalankan fungsi tanpa harus mengelola server.
- Cloud Run: Platform serverless untuk menjalankan aplikasi dalam container.
Yang akan Anda build
Anda akan membuat
- Cloud Function Python digunakan untuk melakukan pemanggilan Palm API
- Aplikasi web Svelte untuk antarmuka pengguna yang berinteraksi dengan Vertex AI API melalui Cloud Function
- Layanan Cloud Run untuk men-deploy aplikasi yang dibuat di atas tanpa server
2. Persyaratan
3. Sebelum memulai
- Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
- Anda akan menggunakan Cloud Shell, lingkungan command line yang berjalan di Google Cloud untuk berinteraksi dengan layanan Google Cloud. Baca dokumentasi untuk mempelajari perintah gcloud dan penggunaannya. Dari Cloud Console, klik Activate Cloud Shell di pojok kanan atas:

Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
gcloud config set project <YOUR_PROJECT_ID>
- Pastikan semua API yang diperlukan diaktifkan dengan menjalankan perintah berikut dari Terminal Cloud Shell:
gcloud services enable cloudbuild.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com
- Buat variabel lingkungan untuk REGION dan PROJECT_ID dengan menjalankan perintah berikut dari Terminal Cloud Shell:
export PROJECT_ID=<your project id>
export REGION=asia-south1
4. Cloud Function untuk memanggil Vertex AI API
Kita akan membuat Cloud Function Python dan memanggil Vertex AI API dalam fungsi ini.
Membuat Akun Layanan baru
Buat akun layanan baru dengan menjalankan perintah berikut di Terminal Cloud Shell.
gcloud iam service-accounts create vertex-service-acc
Untuk memberikan akses ke project dan resource Anda, berikan peran ke akun layanan.
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member="serviceAccount:vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com" --role=roles/ml.developer
Untuk memberi Akun Google Anda peran yang memungkinkan Anda menggunakan peran akun layanan dan melampirkan akun layanan ke resource lain. Ganti USER_EMAIL dengan ID Email Akun Google Anda.
gcloud iam service-accounts add-iam-policy-binding vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Membuat fungsi Python
PaLM 2 untuk teks ideal untuk tugas yang dapat diselesaikan dengan satu respons API, tanpa perlu percakapan berkelanjutan. Sekarang, mari kita buat Cloud Function untuknya.
Buat direktori baru menggunakan Cloud Shell dan buka direktori tersebut. (gunakan terminal yang sama yang dibuka di bagian sebelumnya):
mkdir vertex-ai-functions
cd vertex-ai-functions
Buat file main.py untuk menulis Python Cloud Function dan file requirements.txt untuk menyimpan dependensi.
touch main.py requirements.txt
File Python ini menentukan Cloud Function HTTP sederhana yang menggunakan Model Pembuatan Teks Vertex AI untuk membuat ringkasan singkat dari input teks. Fungsi ini menggunakan input teks sebagai parameter dan menampilkan ringkasan singkat dari input. Fungsi ini menggunakan berbagai parameter untuk mengontrol proses pembuatan, seperti kreativitas, keragaman, dan kelancaran teks yang dihasilkan. HTTP Cloud Function menerima objek permintaan dan menampilkan ringkasan model sebagai respons.
Buka Google Cloud Editor. Anda dapat membukanya dengan membuka tab Konsol Google Cloud baru dan mengklik tombol ACTIVATE CLOUD SHELL. Saat terminal dimuat, klik tombol OPEN EDITOR dengan cepat seperti yang ditunjukkan pada gambar di bawah:

Setelah editor terbuka, Anda akan dapat melihat file main.py. Ganti kontennya dengan kode dari repositori ini link. Penjelasan untuk kode disertakan sebagai komentar kode. Singkatnya, kode ini menyediakan cara ringkas untuk membuat ringkasan singkat dari input teks menggunakan Vertex AI.
File requirements.txt memiliki dependensi paket: functions-framework==3.*: Memastikan bahwa fungsi menggunakan fitur dan perbaikan bug terbaru dari Functions Framework. google-cloud-aiplatform: Diperlukan untuk menggunakan Model Pembuatan Teks Vertex AI.
Tambahkan ini ke file requirements.txt:
functions-framework==3.*
google-cloud-aiplatform
Men-deploy ke Cloud Functions
Sekarang, deploy sumber ini ke Cloud Functions. Jalankan perintah berikut dari Terminal Cloud Shell:
gcloud functions deploy vertex-ai-function \
--gen2 \
--runtime=python311 \
--region=${REGION} \
--source=. \
--entry-point=hello_vertex \
--trigger-http \
--allow-unauthenticated \
--max-instances=30
Gunakan kotak penelusuran dan buka konsol Cloud Functions:

Tindakan ini akan mencantumkan Cloud Function vertex-ai-function yang baru saja kita buat dengan URL publiknya yang akan diberikan di halaman fungsi. Kita akan menggunakannya untuk menghubungkan Frontend dan Vertex AI API. Simpan URL ini. Anda mungkin juga harus mengizinkan akses tanpa autentikasi untuk layanan Cloud Run yang mendasarinya. Penggunaan layanan yang terautentikasi direkomendasikan untuk tujuan keamanan.
5. Membangun dan men-deploy frontend
Aplikasi ini dilengkapi dengan antarmuka frontend untuk berinteraksi dengan Vertex AI API kami melalui Google Cloud Functions. Mari kita buat sekarang.
Meng-clone Repositori dan Menyiapkan Dockerfile
Buka direktori root dan clone repositori git.
cd ~/
git clone https://github.com/bhaaratkrishnan/vertex-summarizer-svelte.git
cd vertex-summarizer-svelte
Untuk menjalankan aplikasi ini, Anda perlu menambahkan variabel lingkungan PUBLIC_FUNCTION_URL di Dockerfile. URL ini adalah URL Cloud Function yang dibuat dan disimpan di bagian sebelumnya.
Buka Cloud Editor dan edit konten file Dockerfile. Ganti variabel PUBLIC_FUNCTION_URL dengan URL Cloud Function Anda.

Men-deploy Frontend ke Cloud Run
Kita akan menggunakan Google Artifact Registry untuk membangun dan menyimpan Image Docker. Cloud Run digunakan untuk men-deploy container dalam Arsitektur Serverless.
Buat Repositori Artifact Registry dengan menjalankan perintah di bawah ini di Terminal Cloud Shell:
gcloud artifacts repositories create vertex-repo --repository-format=docker --location=${REGION}
Buat variabel lingkungan untuk URL repositori Artifact Registry.
export DOCKER_URL=${REGION}-docker.pkg.dev/${PROJECT_ID}/vertex-repo/vertex-summarizer-image
Bangun container Docker dan beri tag dengan lokasi Repositori Artifact Registry. Memberi tag pada image Docker dengan nama repositori akan mengonfigurasi perintah docker push untuk mengirim image ke lokasi tertentu.
docker build . -t ${DOCKER_URL}
Kirim image ke Artifact Registry.
docker push ${DOCKER_URL}
Deploy container Docker ke Cloud Run.
gcloud run deploy vertex-summarizer --allow-unauthenticated --platform=managed --region=${REGION} --image=${DOCKER_URL}
Yaay !! Vertex Summarizer sudah aktif dan berjalan. URL akan ditampilkan di Cloud Shell, jadi Jelajahi dan Nikmati Vertex AI🤖.

6. Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam posting ini, ikuti langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Manage resources
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project
- Jika Anda ingin mempertahankan project dan hanya menghapus layanan Cloud Run, ikuti langkah-langkahnya di sini
- Jika hanya ingin menghapus Cloud Function atau mencabut akses, Anda dapat melakukannya dari sini
7. Selamat
Selamat! Anda telah berhasil menggunakan Vertex AI PaLM2 API untuk melakukan ringkasan teks secara terprogram, membuat aplikasi web Svelte, dan men-deploy di Cloud Functions. Lihat dokumentasi produk LLM Vertex AI untuk mempelajari lebih lanjut model yang tersedia.