Tutorial ini menunjukkan cara membuat aplikasi Google Chat yang menjawab pertanyaan berdasarkan percakapan di ruang Chat dengan AI generatif yang didukung oleh Vertex AI dengan Gemini. Aplikasi Chat menggunakan Google Workspace Events API plus Pub/Sub untuk mengenali dan menjawab pertanyaan yang diposting di ruang Chat secara real time, meskipun tidak disebutkan.
Aplikasi Chat menggunakan semua pesan yang dikirim di ruang sebagai sumber data dan basis pengetahuan: saat seseorang mengajukan pertanyaan, aplikasi Chat akan memeriksa jawaban yang dibagikan sebelumnya, lalu membagikannya. Jika tidak ada jawaban yang ditemukan, Asisten akan mengatakan bahwa ia tidak dapat menjawab. Pada setiap jawaban, pengguna dapat mengklik tombol tindakan aksesori untuk @menyebut pengelola ruang dan meminta jawaban. Dengan menggunakan AI Gemini, aplikasi Google Chat akan beradaptasi dan memperluas basis pengetahuannya karena terus dilatih pada percakapan di ruang tempatnya ditambahkan.
Berikut cara kerja aplikasi Chat di ruang orientasi dan dukungan karyawan:
-
Gambar 2. Dana bertanya apakah perusahaan menawarkan pelatihan berbicara di depan umum. -
Gambar 3. Aplikasi Chat asisten pengetahuan AI meminta Vertex AI dengan Gemini untuk menjawab pertanyaan Dana berdasarkan histori percakapan ruang Chat, lalu membagikan jawabannya.
Prasyarat
Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
Akses ke layanan Google Cloud untuk melakukan hal berikut:
- Membuat project Google Cloud.
- Tautkan akun penagihan Google Cloud ke project Cloud. Untuk mengetahui apakah Anda memiliki akses, lihat Izin yang diperlukan untuk mengaktifkan penagihan.
- Gunakan pemanggilan Google Cloud Function yang tidak diautentikasi, yang dapat diverifikasi dengan menentukan apakah organisasi Google Cloud Anda menggunakan berbagi yang dibatasi domain.
Jika perlu, minta akses atau izin kepada administrator Google Cloud Anda.
Jika menggunakan Google Cloud CLI, lingkungan pengembangan Node.js yang dikonfigurasi agar berfungsi dengan gcloud CLI. Lihat Menyiapkan lingkungan pengembangan Node.js.
Tujuan
- Bangun aplikasi Chat yang menggunakan AI generatif untuk menjawab pertanyaan berdasarkan pengetahuan yang dibagikan dalam percakapan ruang Chat.
- Dengan AI generatif:
- Mendeteksi dan menjawab pertanyaan karyawan.
- Terus belajar dari percakapan yang sedang berlangsung di ruang Chat.
- Memproses dan merespons pesan di ruang Chat secara real time meskipun aplikasi Chat tidak menerima pesan secara langsung.
- Mempertahankan pesan dengan menulis ke, dan membaca dari, database Firestore.
- Fasilitasi kolaborasi di ruang Chat dengan menyebutkan pengelola ruang saat tidak ada jawaban untuk pertanyaan yang ditemukan.
Arsitektur
Diagram berikut menunjukkan arsitektur resource Google Workspace dan Google Cloud yang digunakan oleh aplikasi Chat asisten pengetahuan AI.
Cara kerja aplikasi Chat asisten pengetahuan AI adalah seperti ini:
Pengguna menambahkan aplikasi Chat asisten pengetahuan AI ke ruang Chat:
Aplikasi Chat meminta pengguna yang menambahkannya ke ruang Chat untuk mengonfigurasi autentikasi dan otorisasi.
Aplikasi Chat mengambil pesan ruang dengan memanggil metode
spaces.messages.list
di Chat API, lalu menyimpan pesan yang diambil di database Firestore.Aplikasi Chat memanggil metode
subscriptions.create
di Google Workspace Events API untuk mulai memproses peristiwa seperti pesan di ruang. Endpoint notifikasi langganan adalah topik Pub/Sub yang menggunakan Eventarc untuk meneruskan peristiwa ke aplikasi Chat.Aplikasi Chat memposting pesan pengantar ke ruang.
Pengguna di ruang Chat memposting pesan:
Aplikasi Chat menerima pesan secara real time dari topik Pub/Sub.
Aplikasi Chat menambahkan pesan ke database Firestore.
Jika pengguna kemudian mengedit atau menghapus pesan, aplikasi Chat akan menerima peristiwa yang diperbarui atau dihapus secara real time, lalu memperbarui atau menghapus pesan di database Firestore.
Aplikasi Chat mengirim pesan ke Vertex AI dengan Gemini:
Perintah tersebut menginstruksikan Vertex AI dengan Gemini untuk memeriksa apakah pesan berisi pertanyaan. Jika ya, Gemini akan menjawab pertanyaan berdasarkan histori pesan ruang Chat yang disimpan di Firestore, lalu aplikasi Google Chat akan mengirimkan pesan ke ruang Chat. Jika tidak, jangan merespons.
Jika Vertex AI dengan Gemini menjawab pertanyaan, aplikasi Chat akan memposting jawaban dengan memanggil metode
spaces.messages.create
di Chat API menggunakan autentikasi aplikasi.Jika Vertex AI dengan Gemini tidak dapat menjawab pertanyaan, aplikasi Chat akan memposting pesan yang menyatakan bahwa aplikasi tidak dapat menemukan jawaban atas pertanyaan tersebut di histori ruang Chat.
Pesan selalu menyertakan tombol tindakan aksesori yang dapat diklik oleh pengguna, yang menyebabkan aplikasi Chat @menyebut pengelola ruang yang meminta mereka menjawabnya.
Aplikasi Chat menerima notifikasi siklus proses dari Google Workspace Events API bahwa langganan ruang Chat akan segera berakhir:
- Aplikasi Chat mengirimkan permintaan untuk memperpanjang
langganan dengan memanggil metode
subscriptions.patch
di Google Workspace Events API.
- Aplikasi Chat mengirimkan permintaan untuk memperpanjang
langganan dengan memanggil metode
Aplikasi Chat dihapus dari ruang Chat:
Aplikasi Chat menghapus langganan dengan memanggil metode
subscriptions.delete
di Google Workspace Events API.Aplikasi Chat menghapus data ruang Chat dari Firestore.
Tinjau produk yang digunakan oleh aplikasi Chat asisten pengetahuan AI
Aplikasi Chat asisten pengetahuan AI menggunakan produk Google Workspace dan Google Cloud berikut:
- Vertex AI API dengan Gemini: Platform AI generatif yang didukung oleh Gemini. Aplikasi Chat asisten pengetahuan AI menggunakan Vertex AI API dengan Gemini untuk mengenali, memahami, dan menjawab pertanyaan karyawan.
-
Chat API:
API untuk mengembangkan aplikasi Google Chat yang menerima dan merespons
peristiwa interaksi Chat, seperti pesan. Aplikasi Chat asisten pengetahuan AI menggunakan Chat API untuk:
- Menerima dan merespons peristiwa interaksi yang dikirim oleh Chat.
- Mencantumkan pesan yang dikirim dalam ruang.
- Memposting respons atas pertanyaan pengguna di ruang.
- Konfigurasikan atribut yang menentukan tampilannya di Chat, seperti nama dan gambar avatar.
- Google Workspace Events API: Dengan API ini, Anda dapat berlangganan peristiwa dan mengelola notifikasi perubahan di seluruh aplikasi Google Workspace. Aplikasi Chat asisten pengetahuan AI menggunakan Google Workspace Events API untuk memproses pesan yang diposting di ruang Chat sehingga dapat mendeteksi dan menjawab pertanyaan meskipun tidak disebutkan.
- Firestore: Layanan database dokumen serverless. Aplikasi Chat asisten pengetahuan AI menggunakan Firestore untuk menyimpan data tentang pesan yang dikirim di ruang Chat.
- Pub/Sub: Pub/Sub adalah layanan pesan asinkron dan skalabel yang memisahkan layanan yang menghasilkan pesan dari layanan yang memproses pesan tersebut. Aplikasi Chat asisten pengetahuan AI menggunakan Pub/Sub untuk menerima peristiwa langganan dari ruang Chat.
- Eventarc: Eventarc memungkinkan Anda membuat arsitektur berbasis peristiwa tanpa harus menerapkan, menyesuaikan, atau memelihara infrastruktur yang mendasarinya. Aplikasi Chat asisten pengetahuan AI menggunakan Eventarc untuk merutekan peristiwa dari Pub/Sub ke ruang Chat dan Cloud Function yang menerima serta memproses peristiwa langganan.
-
Cloud Functions:
Layanan komputasi serverless yang ringan memungkinkan Anda membuat
fungsi mandiri dengan tujuan tunggal yang dapat merespons peristiwa interaksi Chat
dan langganan tanpa perlu mengelola server atau lingkungan
runtime. Aplikasi Chat asisten pengetahuan AI
menggunakan dua Cloud Functions bernama:
-
app
: Menghosting endpoint HTTP yang menerima peristiwa interaksi dari Chat dan sebagai platform komputasi untuk menjalankan logika yang memproses dan merespons peristiwa ini. -
eventsApp
: Menerima dan memproses peristiwa ruang Chat, seperti pesan dari langganan Pub/Sub.
- Cloud Build: Platform continuous integration, pengiriman, dan deployment yang terkelola sepenuhnya yang menjalankan build otomatis.
- Cloud Run: Lingkungan yang terkelola sepenuhnya untuk menjalankan aplikasi dalam container.
-
Menyiapkan lingkungan
Bagian ini menunjukkan cara membuat dan mengonfigurasi project Google Cloud untuk aplikasi Chat.
Membuat project Google Cloud
Konsol Google Cloud
- Di konsol Google Cloud, buka Menu > IAM & Admin > Create a Project.
-
Di kolom Project Name, masukkan nama deskriptif untuk project Anda.
Opsional: Untuk mengedit Project ID, klik Edit. Project ID tidak dapat diubah setelah project dibuat, jadi pilih ID yang sesuai dengan kebutuhan Anda sepanjang waktu project tersebut.
- Di kolom Location, klik Browse untuk menampilkan lokasi potensial untuk project Anda. Kemudian, klik Select.
- Klik Buat. Konsol Google Cloud akan membuka halaman Dasbor dan project Anda akan dibuat dalam beberapa menit.
gcloud CLI
Di salah satu lingkungan pengembangan berikut, akses Google Cloud CLI (gcloud
):
-
Cloud Shell: Untuk menggunakan terminal online dengan gcloud CLI
yang sudah disiapkan, aktifkan Cloud Shell.
Aktifkan Cloud Shell -
Shell Lokal: Untuk menggunakan lingkungan pengembangan lokal,
instal dan
lakukan inisialisasi
gcloud CLI.
Untuk membuat project Cloud, gunakan perintahgcloud projects create
: Ganti PROJECT_ID dengan menetapkan ID untuk project yang ingin Anda buat.gcloud projects create PROJECT_ID
Mengaktifkan penagihan untuk project Cloud
Konsol Google Cloud
- Di konsol Google Cloud, buka Billing. Klik Menu > Penagihan > Project Saya.
- Di Pilih organisasi, pilih organisasi yang terkait dengan project Google Cloud Anda.
- Di baris project, buka menu Actions ( ), klik Change billing, lalu pilih akun Penagihan Cloud.
- Klik Tetapkan akun.
gcloud CLI
- Untuk mencantumkan akun penagihan yang tersedia, jalankan:
gcloud billing accounts list
- Menautkan akun penagihan dengan project Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Ganti kode berikut:
PROJECT_ID
adalah Project ID untuk project Cloud yang penagihannya ingin Anda aktifkan.BILLING_ACCOUNT_ID
adalah ID akun penagihan yang akan ditautkan dengan project Google Cloud.
Mengaktifkan API
Konsol Google Cloud
Di konsol Google Cloud, aktifkan Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API, dan Cloud Run Admin API.
Pastikan Anda mengaktifkan API di project Cloud yang benar, lalu klik Berikutnya.
Pastikan Anda mengaktifkan API yang benar, lalu klik Enable.
gcloud CLI
Jika perlu, tetapkan project Cloud saat ini ke project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti PROJECT_ID dengan Project ID dari project Cloud yang Anda buat.
Aktifkan Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API, dan Cloud Run Admin API:
gcloud services enable chat.googleapis.com \ aiplatform.googleapis.com \ cloudfunctions.googleapis.com \ firestore.googleapis.com \ cloudbuild.googleapis.com \ pubsub.googleapis.com \ workspaceevents.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com
Menyiapkan autentikasi dan otorisasi
Autentikasi dan otorisasi memungkinkan aplikasi Chat mengakses resource di Google Workspace dan Google Cloud.
Dalam tutorial ini, Anda memublikasikan aplikasi Google Chat secara internal sehingga Anda dapat menggunakan informasi placeholder. Sebelum memublikasikan aplikasi Google Chat secara eksternal, ganti informasi placeholder dengan informasi sebenarnya untuk layar izin.
Mengonfigurasi layar izin OAuth, menentukan cakupan, dan mendaftarkan aplikasi
Di konsol Google Cloud, buka Menu > APIs & Services > OAuth consent screen.
Di bagian Jenis pengguna, pilih Internal, lalu klik Buat.
Di App name, ketik
AI knowledge assistant
.Di Email dukungan pengguna, pilih alamat email Anda atau grup Google yang sesuai.
Di bagian Informasi kontak developer, masukkan alamat email Anda.
Klik Simpan dan Lanjutkan.
Klik Add or Remove Scopes. Panel akan muncul dengan daftar cakupan untuk setiap API yang telah Anda aktifkan di project Cloud.
Di bagian Tambahkan cakupan secara manual, tempel cakupan berikut:
https://www.googleapis.com/auth/chat.messages
Klik Tambahkan ke Tabel.
Klik Perbarui.
Klik Simpan dan Lanjutkan.
Tinjau ringkasan pendaftaran aplikasi, lalu klik Kembali ke Dasbor.
Membuat kredensial client ID OAuth
Di Konsol Google Cloud, buka Menu > APIs & Services > Credentials.
Klik Create Credentials > OAuth client ID.
Klik Application type > Web application.
Di kolom Name, ketik nama untuk kredensial. Nama ini hanya ditampilkan di konsol Google Cloud.
Di bagian Authorized redirect URIs, klik Add URI.
Di URI 1, ketik hal berikut:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Ganti kode berikut:
- REGION: region Cloud Function, seperti
us-central1
. Kemudian, saat membuat dua Cloud Functions, Anda harus menetapkan region-nya ke nilai ini. - PROJECT_ID: Project ID project Cloud yang Anda buat.
- REGION: region Cloud Function, seperti
Klik Buat.
Dari jendela OAuth client created, klik Download JSON.
Simpan file yang didownload sebagai
client_secrets.json
. Kemudian, saat membuat dua Cloud Functions, Anda akan menyertakan fileclient_secrets.json
dalam setiap deployment.Klik Oke.
Membuat topik Pub/Sub
Topik Pub/Sub berfungsi dengan Google Workspace Events API untuk berlangganan peristiwa di ruang Chat seperti pesan dan memberi tahu aplikasi Chat secara real time.
Berikut cara membuat topik Pub/Sub:
Konsol Google Cloud
Di konsol Google Cloud, buka Menu > Pub/Sub.
Klik Buat Topik.
Di Topic ID, ketik
events-api
.Batalkan pilihan Tambahkan langganan default.
Di bagian Encryption, pilih Google-managed encryption key.
Klik Buat. Topik Pub/Sub akan muncul.
Agar topik Pub/Sub ini dan Google Workspace Events API dapat bekerja sama, berikan izin kepada pengguna IAM Chat untuk memposting ke topik Pub/Sub:
Di panel events-api, klik PERMISSIONS, klik Add Principal.
Di bagian Add principals, di New principals, ketik
chat-api-push@system.gserviceaccount.com
.Di bagian Tetapkan peran, pada Pilih peran, pilih Pub/Sub > Pub/Sub Publisher.
Klik Simpan.
gcloud CLI
Buat topik Pub/Sub dengan ID topik
events-api
:gcloud pubsub topics create events-api
Berikan izin kepada pengguna IAM Chat untuk memposting ke topik Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \ --role='roles/pubsub.publisher'
Membuat database Firestore
Database Firestore mempertahankan dan mengambil data dari ruang Chat, seperti pesan. Anda tidak menentukan model data, yang ditetapkan secara implisit dalam kode contoh oleh file model/message.js
dan services/firestore-service.js
.
Database aplikasi Chat asisten pengetahuan AI menggunakan model data NoSQL berdasarkan dokumen Model data Firestore.
yang diatur ke dalam koleksi . Untuk mempelajari lebih lanjut, lihatDiagram berikut adalah ringkasan model data aplikasi Chat asisten pengetahuan AI:
Root berisi dua koleksi:
spaces
, dengan setiap dokumen mewakili ruang Chat tempat aplikasi Chat ditambahkan. Setiap pesan diwakili oleh dokumen dalam subkoleksimessages
.users
, dengan setiap dokumen mewakili pengguna yang menambahkan aplikasi Chat ke ruang Chat.
Melihat definisi koleksi, dokumen, dan kolom
spaces
Ruang Chat yang mencakup aplikasi Chat asisten pengetahuan AI.
Kolom | |
---|---|
Document ID | String ID unik ruang tertentu. Bagian dari nama resource ruang di Chat API. |
messages | Subcollection of Documents ( Pesan yang dikirim di ruang Chat. Sesuai dengan Document ID dari message di Firebase. |
spaceName | String Nama unik ruang di Chat API. Sesuai dengan nama resource ruang di Chat API. |
messages
Pesan yang dikirim di ruang Chat.
Kolom | |
---|---|
Document ID | String ID unik dari pesan tertentu. |
name | String Nama unik pesan di Chat API. Sesuai dengan nama resource pesan di Chat API. |
text | String Isi teks pesan. |
time | String (Timestamp format) Waktu pembuatan pesan. |
users
Pengguna yang menambahkan aplikasi Chat asisten pengetahuan AI ke ruang Chat.
Kolom | |
---|---|
Document ID | String ID unik pengguna tertentu. |
accessToken | String Token akses yang diberikan selama otorisasi pengguna OAuth 2.0 yang digunakan untuk memanggil Google Workspace API. |
refreshToken | String Token refresh yang diberikan selama otorisasi pengguna OAuth 2.0. |
Berikut adalah cara membuat database Firestore:
Konsol Google Cloud
Di konsol Google Cloud, buka Menu > Firestore.
Klik Buat database.
Dari Pilih mode Firestore, klik Native mode.
Klik Lanjutkan.
Konfigurasikan database:
Di Nama database, biarkan ID Database sebagai
(default)
.Di bagian Jenis lokasi, pilih Region.
Di Region, tentukan region untuk database Anda, seperti
us-central1
. Untuk mendapatkan performa terbaik, pilih lokasi yang sama atau terdekat dengan Cloud Functions aplikasi Chat.
Klik Buat database.
gcloud CLI
Buat database Firestore dalam mode Native:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Ganti LOCATION dengan nama region Firestore, seperti
us-central1
. Untuk mendapatkan performa terbaik, pilih lokasi yang sama atau dekat dengan Cloud Functions aplikasi Chat.
Membuat dan men-deploy aplikasi Chat
Setelah project Google Cloud dibuat dan dikonfigurasi, Anda siap mem-build dan men-deploy aplikasi Chat. Di bagian ini, Anda akan melakukan hal berikut:
- Membuat dan men-deploy dua Cloud Function. Satu untuk merespons peristiwa interaksi Chat dan satu untuk merespons peristiwa Pub/Sub.
- Buat dan deploy aplikasi Chat di halaman konfigurasi Google Chat API.
Membuat dan men-deploy Cloud Function
Di bagian ini, Anda akan membuat dan men-deploy dua Cloud Function bernama:
app
: Menghosting dan menjalankan kode aplikasi Chat yang merespons peristiwa yang diterima dari Chat sebagai permintaan HTTP.eventsApp
: Menerima dan memproses peristiwa ruang Chat seperti pesan dari Pub/Sub.
Cloud Functions ini bersama-sama membentuk logika aplikasi aplikasi Chat asisten pengetahuan AI.
Atau, sebelum membuat Cloud Functions, luangkan waktu untuk meninjau dan memahami kode contoh yang dihosting di GitHub.
Membuat dan men-deploy app
Konsol Google Cloud
Download kode dari GitHub sebagai file ZIP.
Ekstrak file zip yang didownload.
Folder yang diekstrak berisi seluruh repositori contoh Google Workspace.
Dalam folder yang baru diekstrak, buka direktori
google-chat-samples-main/node/ai-knowledge-assistant
.Di direktori
google-chat-samples/node/ai-knowledge-assistant
, tambahkan fileclient_secrets.json
yang Anda download saat membuat kredensial client ID OAuth untuk autentikasi dan otorisasi.Kompresi konten folder
ai-knowledge-assistant
menjadi file zip.Direktori utama file zip harus berisi file dan folder berikut:
.gcloudignore
.gitignore
README.md
deploy.sh
env.js
events_index.js
http_index.js
index.js
client_secrets.json
package-lock.json
package.json
controllers/
model/
services/
test/
Di konsol Google Cloud, buka Menu > Cloud Functions.
Pastikan project Google Cloud untuk aplikasi Chat Anda dipilih.
Klik
Create Function.Di halaman Create function, siapkan fungsi Anda:
- Di Environment, pilih Cloud Run Function.
- Di Function name, ketik
app
. - Di Region, pilih region, seperti
us-central1
. Wilayah ini harus cocok dengan wilayah yang Anda tetapkan di URI pengalihan yang diotorisasi saat Anda membuat kredensial client ID OAuth untuk autentikasi dan otorisasi. - Di Jenis pemicu, pilih HTTPS.
- Di bagian Autentikasi, pilih Izinkan pemanggilan yang tidak diautentikasi.
- Klik Berikutnya.
Di Runtime, pilih Node.js 20.
Di Entry point, hapus teks default dan masukkan
app
.Di Source code, pilih Zip upload.
Di Destination bucket, buat atau pilih bucket:
- Klik Browse.
- Pilih bucket.
- Klik Pilih.
Google Cloud mengupload file zip ke dan mengekstrak file komponen di bucket ini. Cloud Functions kemudian menyalin file komponen ke dalam Cloud Function.
Di File ZIP, upload file ZIP yang Anda download dari GitHub, diekstrak, dan dikompresi ulang:
- Klik Browse.
- Buka dan pilih file zip.
- Klik Buka.
Klik Deploy.
Halaman Detail Cloud Functions akan terbuka, dan fungsi Anda akan muncul dengan dua indikator progres: satu untuk build dan satu untuk layanan. Saat kedua indikator progres menghilang dan diganti dengan tanda centang, fungsi Anda sudah di-deploy dan siap.
Edit kode contoh untuk menetapkan konstanta:
- Di halaman Detail Cloud Function, klik Edit.
- Klik Berikutnya.
- Di Source code, pilih Inline editor.
- Di editor inline, buka dan edit file
env.js
:- Tetapkan nilai project ke project ID Cloud Anda.
- Tetapkan nilai location ke region Cloud Functions, seperti
us-central1
.
Klik Deploy.
gcloud CLI
Clone kode dari GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Beralihlah ke direktori yang menyimpan kode untuk aplikasi Chat asisten pengetahuan AI ini:
cd google-chat-samples/node/ai-knowledge-assistant
Dalam direktori
google-chat-samples/node/ai-knowledge-assistant
, tambahkan fileclient_secrets.json
yang Anda download saat membuat kredensial client ID OAuth untuk autentikasi dan otorisasi.Edit file
env.js
untuk menetapkan variabel lingkungan:- Tetapkan nilai project ke project ID Google Cloud Anda.
- Tetapkan nilai location ke region Cloud Functions, seperti
us-central1
.
Deploy Cloud Function ke Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Ganti REGION dengan nilai region Cloud Function agar cocok dengan nilai yang ditetapkan dalam file
env.js
, sepertius-central1
.
Membuat dan men-deploy eventsApp
Konsol Google Cloud
Di konsol Google Cloud, buka Menu > Cloud Functions.
Pastikan project Google Cloud untuk aplikasi Chat Anda dipilih.
Klik
Create Function.Di halaman Create function, siapkan fungsi Anda:
- Di Environment, pilih Cloud Run Function.
- Di Function name, ketik
eventsApp
. - Di Region, pilih region, seperti
us-central1
. Wilayah ini harus cocok dengan wilayah yang Anda tetapkan di URI pengalihan yang diotorisasi saat Anda membuat kredensial client ID OAuth untuk autentikasi dan otorisasi. - Di Trigger type, pilih Cloud Pub/Sub.
- Di Cloud Pub/Sub topic, pilih nama topik Pub/Sub yang Anda buat, yang memiliki format
projects/PROJECT/topics/events-api
dengan PROJECT adalah project ID Cloud Anda. - Jika Anda melihat pesan yang dimulai dengan
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, klik Berikan Semua. - Klik Berikutnya.
Di Runtime, pilih Node.js 20.
Di Entry point, hapus teks default dan masukkan
eventsApp
.Di Source code, pilih Zip dari Cloud Storage.
Di bagian Cloud Storage location, klik Browse.
Pilih bucket tempat Anda mengupload file zip saat membuat Cloud Function
app
.Klik file ZIP yang Anda upload.
Klik Pilih.
Klik Deploy.
Halaman Cloud Functions detail akan terbuka, dan fungsi Anda akan muncul dengan tiga indikator progres: satu untuk build, satu untuk layanan, dan satu untuk pemicu. Jika ketiga indikator progres menghilang dan diganti dengan tanda centang, fungsi Anda sudah di-deploy dan siap.
Edit kode contoh untuk menetapkan konstanta:
- Di halaman Detail Cloud Function, klik Edit.
- Klik Berikutnya.
- Di Source code, pilih Inline editor.
- Di editor inline, buka dan edit file
env.js
:- Tetapkan nilai project ke project ID Cloud Anda.
- Tetapkan nilai location ke region Cloud Functions, seperti
us-central1
.
Klik Deploy.
gcloud CLI
Di gcloud CLI, jika Anda belum berada di sana, beralihlah ke direktori yang menyimpan kode untuk aplikasi Chat asisten pengetahuan AI ini yang sebelumnya Anda clone dari GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
Di direktori
google-chat-samples/node/ai-knowledge-assistant
, tambahkan fileclient_secrets.json
yang Anda download saat membuat kredensial client ID OAuth untuk autentikasi dan otorisasi.Edit file
env.js
untuk menetapkan variabel lingkungan:- Tetapkan nilai project ke project ID Cloud Anda.
- Tetapkan nilai location ke region Cloud Functions, seperti
us-central1
.
Men-deploy Cloud Function ke Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Ganti REGION dengan nilai region Cloud Function agar cocok dengan nilai yang ditetapkan dalam file
env.js
, sepertius-central1
.
Salin URL pemicu Cloud Function app
Anda akan menempelkan URL pemicu Cloud Function app
di bagian berikutnya saat Mengonfigurasi aplikasi Chat di konsol Google Cloud.
Konsol Google Cloud
Di Konsol Google Cloud, buka Menu > Cloud Functions.
Di kolom Nama pada daftar Cloud Functions, klik
app
.Klik Pemicu.
Salin URL.
gcloud CLI
Deskripsikan
app
Cloud Function:gcloud functions describe app
Salin properti
url
.
Mengonfigurasi aplikasi Chat di konsol Google Cloud
Bagian ini menunjukkan cara mengonfigurasi Chat API di konsol Google Cloud dengan informasi tentang aplikasi Chat Anda, termasuk nama aplikasi Chat dan URL pemicu Cloud Function aplikasi Chat tempat aplikasi tersebut mengirim peristiwa interaksi Chat.
Di konsol Google Cloud, klik Menu > Produk lainnya > Google Workspace > Product Library > Google Chat API > Manage > Configuration.
Di App name, ketik
AI knowledge assistant
.Di Avatar URL, ketik
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.Di Deskripsi, ketik
Answers questions with AI
.Klik tombol Aktifkan Fitur interaktif ke posisi aktif.
Di bagian Functionality, pilih Join spaces and group conversations.
Di bagian Connection settings, pilih HTTP endpoint URL.
Di URL endpoint HTTP, tempel URL Pemicu dari Cloud Function
app
yang diformat sebagaihttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
dengan REGION adalah region Cloud Function, sepertius-central1
dan PROJECT_ID adalah Project ID dari project Cloud yang Anda buat.Di bagian Visibilitas, pilih Jadikan aplikasi Chat ini tersedia untuk orang dan grup tertentu di domain Workspace Anda, lalu masukkan alamat email Anda.
Atau, di bagian Logs, pilih Log errors to Logging.
Klik Simpan. Pesan konfigurasi tersimpan akan muncul, yang berarti aplikasi Chat sudah siap diuji.
Menguji aplikasi Chat
Uji aplikasi Chat asisten pengetahuan AI di ruang Chat dengan pesan dengan mengajukan pertanyaan yang dapat dijawab oleh aplikasi Chat asisten pengetahuan AI.
Berikut beberapa cara untuk menguji aplikasi Chat asisten pengetahuan AI:
- Tambahkan aplikasi Chat asisten pengetahuan AI ke ruang Chat yang ada dan ajukan pertanyaan yang relevan dengan ruang tersebut.
- Buat ruang Chat dan posting beberapa pesan untuk digunakan sebagai
sumber data. Pesan dapat berasal dari
Gemini dengan perintah seperti
Answer 20 common onboarding questions employees ask their teams.
Atau, Anda dapat menempelkan beberapa paragraf dari panduan mengembangkan dengan Chat, lalu mengajukan pertanyaan tentang hal tersebut.
Untuk tutorial ini, mari kita buat ruang Chat dan tempel beberapa paragraf dari panduan ringkasan mengembangkan dengan Chat.
Buka Google Chat.
Membuat ruang Chat:
Klik > Buat ruang.
Chat BaruDi Nama ruang, ketik
Testing AI knowledge assistant app
.Di bagian Apa tujuan Anda memilih jenis ruang ini?, pilih Kolaborasi.
Di bagian Setelan akses, pilih siapa yang dapat mengakses ruang.
Klik Buat.
Menambahkan pesan untuk digunakan sebagai sumber data:
Di browser web, buka panduan ringkasan mengembangkan dengan Chat.
Salin dan tempel konten panduan ke ruang Chat yang Anda buat.
Tambahkan aplikasi Chat asisten pengetahuan AI:
Di kolom tulis pesan, ketik
@AI knowledge assistant
dan di menu saran yang muncul, pilih aplikasi Chat asisten pengetahuan AI, lalu tekanenter
.Akan muncul pesan yang menanyakan apakah Anda ingin menambahkan aplikasi Chat asisten pengetahuan AI ke ruang. Klik Tambahkan ke ruang.
Jika ini adalah pertama kalinya Anda menambahkan aplikasi Chat ke ruang, Anda harus mengonfigurasi autentikasi dan otorisasi untuk aplikasi Chat:
- Klik Configure.
- Jendela atau tab browser baru akan terbuka dan meminta Anda memilih Akun Google. Pilih akun yang digunakan untuk pengujian.
- Tinjau izin yang diminta aplikasi Chat asisten pengetahuan AI. Untuk memberikan izin, klik Izinkan.
- Pesan yang bertuliskan
You may close this page now.
akan muncul. Tutup jendela atau tab browser dan kembali ke ruang Chat.
Ajukan pertanyaan:
Di kolom tulis pesan, ketik pertanyaan seperti
What are Google Chat apps?
Aplikasi Chat asisten pengetahuan AI akan menjawab.
Atau, jika jawaban tidak akurat atau memadai, untuk membantu histori percakapan AI menjadi lebih baik, klik
Dapatkan bantuan. Aplikasi Chat asisten pengetahuan AI menyebutkan pengelola ruang dan memintanya untuk menjawab pertanyaan. Lain kali, aplikasi Chat asisten pengetahuan AI akan mengetahui jawabannya.
Pertimbangan, pilihan arsitektur alternatif, dan langkah selanjutnya
Bagian ini meninjau cara lain untuk mem-build aplikasi Chat asisten pengetahuan AI.
Firestore, Cloud Storage, atau memanggil List Messages di Chat API
Tutorial ini merekomendasikan untuk menyimpan data ruang Chat seperti
pesan di database Firestore karena meningkatkan performa dibandingkan
dengan memanggil metode list
pada resource Message
dengan Chat API setiap kali
aplikasi Chat menjawab pertanyaan. Selain itu, memanggil
list messages
berulang kali dapat menyebabkan
aplikasi Chat mencapai batas kuota API.
Namun, jika histori percakapan ruang Chat terlalu panjang, penggunaan Firestore dapat menjadi mahal.
Cloud Storage adalah alternatif untuk Firestore. Setiap ruang tempat aplikasi Chat asisten pengetahuan AI aktif akan mendapatkan objeknya sendiri, dan setiap objek adalah file teks yang berisi semua pesan di ruang tersebut. Keuntungan pendekatan ini adalah konten lengkap file teks dapat dimasukkan ke Vertex AI dengan Gemini sekaligus, tetapi kekurangannya adalah perlu lebih banyak pekerjaan untuk memperbarui histori percakapan karena Anda tidak dapat menambahkan ke objek di Cloud Storage, hanya menggantinya. Pendekatan ini tidak masuk akal jika Anda memperbarui histori pesan secara rutin, tetapi akan menjadi pilihan yang baik jika Anda memperbarui histori pesan secara berkala, misalnya sekali per minggu.
Memecahkan masalah
Saat aplikasi Google Chat atau kartu menampilkan error, antarmuka Chat akan menampilkan pesan yang bertuliskan "Terjadi masalah". atau "Tidak dapat memproses permintaan Anda". Terkadang UI Chat tidak menampilkan pesan error, tetapi aplikasi atau kartu Chat menghasilkan hasil yang tidak terduga; misalnya, pesan kartu mungkin tidak muncul.
Meskipun pesan error mungkin tidak ditampilkan di UI Chat, pesan error deskriptif dan data log tersedia untuk membantu Anda memperbaiki error saat logging error untuk aplikasi Chat diaktifkan. Untuk mendapatkan bantuan dalam melihat, men-debug, dan memperbaiki error, lihat Memecahkan masalah dan memperbaiki error Google Chat.
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, sebaiknya hapus project Cloud tersebut.
- Di Konsol Google Cloud, buka halaman Manage resources. Klik Menu > IAM & Admin > Kelola Resource.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus .
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Topik terkait
- Mengelola project dengan Google Chat, Vertex AI, dan Firestore
- Merespons insiden dengan Google Chat, Vertex AI, dan Apps Script