Aplikasi Text Ringkas dengan Vertex AI dan Svelte Kit

1. Pengantar

Dalam codelab ini, saya telah mencantumkan langkah-langkah untuk membangun aplikasi web yang memungkinkan Anda melakukan peringkasan teks menggunakan Vertex AI Large Language Model untuk pembuatan teks ( text-bison) API dalam framework Svelte Kit. Daftar layanan dan tech stack yang digunakan adalah:

  1. Svelte Kit: Framework aplikasi web yang dibangun di Svelte.
  2. Vertex AI PaLM 2 API: Large language model (LLM) API yang menyediakan akses ke model PaLM 2 dari Google AI.
  3. Cloud Functions: Platform serverless untuk menjalankan fungsi tanpa harus mengelola server.
  4. Cloud Run: Platform serverless untuk menjalankan aplikasi dalam container.

Yang akan Anda build

Anda akan membuat

  • Python Cloud Function digunakan untuk pemanggilan API makePalm
  • Aplikasi web Svelte untuk antarmuka pengguna guna berinteraksi dengan Vertex AI API melalui Cloud Function
  • Layanan Cloud Run untuk men-deploy aplikasi yang dibuat di atas secara serverless

2. Persyaratan

  • Browser, seperti Chrome atau Firefox
  • Project Google Cloud yang mengaktifkan penagihan

3. Sebelum memulai

  1. Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud
  2. Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan diaktifkan pada sebuah project
  3. Anda akan menggunakan Cloud Shell, yakni lingkungan command line yang berjalan di Google Cloud untuk berinteraksi dengan layanan Google Cloud. Lihat dokumentasi untuk mengetahui perintah dan penggunaan gcloud. Dari Cloud Console, klik Activate Cloud Shell di pojok kanan atas:

51622c00acec2fa.pngS

Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:

gcloud config set project <YOUR_PROJECT_ID>
  1. Pastikan semua API yang diperlukan telah diaktifkan dengan menjalankan perintah berikut dari Terminal Cloud Shell:
gcloud services enable cloudbuild.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com
  1. 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 Python Cloud Function 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 lainnya. 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. Mari kita buat Cloud Function untuknya sekarang.

Buat direktori baru menggunakan Cloud Shell dan bukalah. (gunakan terminal yang sama yang dibuka di bagian sebelumnya):

mkdir vertex-ai-functions

cd vertex-ai-functions

Membuat file main.py untuk menulis Python Cloud Function dan file requirements.txt untuk menyimpan dependensi.

touch main.py requirements.txt

File Python ini mendefinisikan Cloud Function HTTP sederhana yang menggunakan Model Pembuatan Teks Vertex AI untuk menghasilkan ringkasan singkat input teks. Fungsi ini mengambil input teks sebagai parameter dan menampilkan ringkasan singkat input tersebut. Fungsi ini menggunakan berbagai parameter untuk mengontrol proses pembuatan, seperti kreativitas, keberagaman, dan kelancaran teks yang dihasilkan. Cloud Function HTTP menerima objek permintaan dan menampilkan ringkasan model sebagai respons.

Buka Google Cloud Editor. Anda dapat membukanya dengan membuka tab Konsol Google Cloud yang baru dan mengklik tombol AKTIFKAN CLOUD SHELL. Saat terminal dimuat, klik tombol OPEN EDITOR seperti yang ditunjukkan pada gambar di bawah dengan cepat:

8e501bd2c41d11b8.pngS

Setelah editor terbuka, Anda seharusnya dapat melihat file "main.py". Ganti kontennya dengan kode dari link repositori ini. Penjelasan kode disertakan sebagai komentar kode. Singkatnya, kode ini memberikan cara ringkas untuk menghasilkan ringkasan singkat input teks menggunakan Vertex AI.

File requirements.txt memiliki dependensi paket: functions-framework==3.*: Memastikan fungsi tersebut menggunakan fitur terbaru dan perbaikan bug Framework Functions. google-cloud-aiplatform: Diperlukan untuk menggunakan Model Pembuatan Teks Vertex AI.

Tambahkan hal berikut ke file requirements.txt:

functions-framework==3.*
google-cloud-aiplatform

Men-deploy ke Cloud Functions

Sekarang, mari kita 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:

43a6b247098a9edb.pngS

Langkah ini akan menampilkan fungsi Cloud Function verteks-ai yang baru saja dibuat dengan URL publiknya yang akan diberikan di halaman fungsi. Kita menggunakannya untuk menghubungkan Frontend dan Vertex AI API. Simpan URL ini. Anda mungkin juga harus mengizinkan layanan Cloud Run pokok untuk akses yang tidak diautentikasi. Sebaiknya gunakan layanan terautentikasi 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.

2958bb12343368a9.pngS

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 di Arsitektur Serverless.

Buat Artifact Registry Repository dengan menjalankan perintah di bawah 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 Artifact Registry Repository. Pemberian 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}

Hore !! Vertex Summarizer sudah aktif dan berjalan. URL-nya akan ditampilkan di Cloud Shell, jadi Jelajahi dan Nikmati Vertex AI🤖.

cd94442961bb5308.gif

6. Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam posting ini, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Manage resources
  2. Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project
  4. Jika Anda ingin menyimpan project dan hanya menghapus layanan Cloud Run, ikuti langkah-langkahnya di sini
  5. Jika hanya ingin menghapus Cloud Function atau mencabut akses, Anda dapat melakukannya di sini.

7. Selamat

Selamat! Anda telah berhasil menggunakan PaLM2 API Vertex AI untuk melakukan peringkasan teks secara terprogram, membangun aplikasi web Svelte, dan men-deploy aplikasi di Cloud Functions. Lihat dokumentasi produk LLM Vertex AI untuk mempelajari lebih lanjut model yang tersedia.