1. Ringkasan
Dalam lanskap retail yang serba cepat saat ini, memberikan layanan pelanggan yang luar biasa sekaligus memungkinkan pengalaman belanja yang dipersonalisasi adalah hal yang sangat penting. Kami akan mengajak Anda dalam perjalanan teknis melalui pembuatan aplikasi chat berbasis pengetahuan yang dirancang untuk menjawab pertanyaan pelanggan, memandu penemuan produk, dan menyesuaikan hasil penelusuran. Solusi inovatif ini menggabungkan kemampuan AlloyDB untuk penyimpanan data, mesin analisis internal untuk pemahaman kontekstual, Gemini (Model Bahasa Besar) untuk validasi relevansi, dan Agent Builder Google untuk melakukan bootstrapping cepat pada asisten percakapan yang cerdas.
Tantangan: Pelanggan retail modern mengharapkan jawaban instan dan rekomendasi produk yang sesuai dengan preferensi unik mereka. Metode penelusuran tradisional sering kali tidak dapat memberikan tingkat personalisasi ini.
Solusi: Aplikasi chat berbasis pengetahuan kami mengatasi tantangan ini secara langsung. Fitur ini memanfaatkan pusat informasi lengkap yang berasal dari data retail Anda untuk memahami maksud pelanggan, merespons secara cerdas, dan memberikan hasil yang sangat relevan.
Yang akan Anda build
Sebagai bagian dari lab ini (Bagian 2), Anda akan:
- Membangun agen Vertex AI Agent Builder
- Mengintegrasikan alat AlloyDB dengan agen
Persyaratan
2. Arsitektur
Alur Data: Mari kita lihat lebih dekat cara data bergerak melalui sistem kami:
Penyerapan:
Data retail (inventaris, deskripsi produk, interaksi pelanggan) terus dimuat ke AlloyDB.
Mesin Analisis:
Kita akan menggunakan AlloyDB sebagai mesin analisis untuk melakukan hal berikut:
- Ekstraksi Konteks: Mesin menganalisis data yang disimpan dalam AlloyDB untuk memahami hubungan antara produk, kategori, perilaku pelanggan, dll. sebagaimana berlaku.
- Pembuatan Embedding: Embedding (representasi matematika dari teks) dibuat untuk kueri pengguna dan informasi yang disimpan di AlloyDB.
- Penelusuran Vektor: Mesin melakukan penelusuran kemiripan, membandingkan embedding kueri dengan embedding deskripsi produk, ulasan, dan data relevan lainnya. Hal ini mengidentifikasi 25 "tetangga terdekat" yang paling relevan.
Validasi Gemini:
Respons potensial ini dikirim ke Gemini untuk dinilai. Gemini akan menentukan apakah informasi tersebut benar-benar relevan dan aman untuk dibagikan kepada pengguna.
Pembuatan Respons:
Respons yang divalidasi disusun ke dalam array JSON dan seluruh mesin dikemas ke dalam Fungsi Cloud Run serverless yang dipanggil dari Agent Builder.
Langkah-langkah di atas sudah dibahas di bagian 1 lab.
Kami membahas detail teknis pembuatan mesin analisis berbasis pengetahuan yang mendukung asisten belanja pintar kami. Sekarang, mari kita pelajari cara memanfaatkan keajaiban Agent Builder untuk mewujudkan mesin ini dalam antarmuka percakapan. Pastikan Anda telah menyiapkan URL endpoint sebelum memulai bagian 2. Langkah berikutnya adalah yang akan kita bahas di lab ini:
Interaksi Percakapan:
Agent Builder menyajikan respons kepada pengguna dalam format natural language, sehingga memfasilitasi dialog dua arah.
3. Sebelum memulai
Membuat project
- 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 yang telah dilengkapi dengan bq. Klik Activate Cloud Shell di bagian atas konsol Google Cloud.

- Setelah terhubung ke Cloud Shell, Anda dapat memeriksa bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda menggunakan perintah berikut:
gcloud auth list
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda.
gcloud config list project
- Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
gcloud config set project <YOUR_PROJECT_ID>
- Mengaktifkan API yang diperlukan. Alternatif untuk perintah gcloud adalah melalui konsol dengan menelusuri setiap produk atau menggunakan link ini.
Jika ada API yang terlewat, Anda dapat mengaktifkannya selama proses penerapan.
Baca dokumentasi untuk mempelajari perintah gcloud dan penggunaannya.
Catatan Penting: Selain itu, pastikan Anda telah menyelesaikan BAGIAN 1 lab untuk menyelesaikan bagian ini.
4. Pembuatan Agen
Memperkenalkan Agent Builder
Agent Builder adalah alat low-code yang canggih dan memungkinkan kita membuat agen percakapan dengan cepat dan efisien. Hal ini menyederhanakan proses merancang alur dialog, mengintegrasikan pusat informasi, dan menghubungkan ke API eksternal. Dalam kasus ini, kita akan menggunakan Agent Builder untuk terhubung dengan lancar ke endpoint Cloud Function yang kita buat di Bagian 1, sehingga memungkinkan asisten belanja kita mengakses basis pengetahuan retail kita dan merespons kueri pelanggan secara cerdas.
Membangun agen
Mari mulai membuat agen baru ini untuk menjawab pertanyaan pengguna tentang produk pakaian.
- Mulailah dengan login ke platform Agent Builder. Jika Anda diminta untuk mengaktifkan API, lanjutkan dan klik CONTINUE AND ACTIVATE THE API.
- Klik "CREATE APP" dan beri nama deskriptif untuk agen Anda (misalnya, "Retail Shopping Assistant").
- Klik App Type "Agent".

- . Beri nama deskriptif untuk agen Anda, seperti "Asisten Shopping Retail", dan tetapkan region sebagai us-central1

- Masukkan detail agen:
- Ubah Nama Agen menjadi "Agen Shopping Retail".
- Tambahkan "Sasaran" di bawah:
You are a shopping assistant agent! Your job is to help the customer search for their ideal apparels, allow them to add items to their cart, remove items from their cart, and review items in their cart. Once a user is done searching, open the search results in a user friendly html page.

- Simpan pada tahap ini dan biarkan petunjuk kosong untuk saat ini.
- Kemudian, klik Alat dari menu navigasi, lalu klik BUAT.

Masukkan Nama Alat: Alat Shopping Retail
Masukkan Deskripsi Alat:
This tool refers to the dataset in the backend as the context information for product inventory. It takes as input the user's search text summarized by the agent and matches with the most appropriate list of items and returns as an array of items.
Masukkan Skema — OpenAPI dalam format YAML:
Di bagian ini, kita menggunakan endpoint backend untuk mendukung agen. Salin spesifikasi OpenAPI di bawah dan ganti placeholder URL (yang diapit tanda kurung sudut) dengan endpoint Cloud Function Anda:
openapi: 3.0.0
info:
title: AlloyDB Product Matcher
description: A Cloud Function to query AlloyDB for product matches based on user search text.
version: 1.0.0
servers:
- url: <<https://us-central1-YOUR_PROJECT_ID.cloudfunctions.net/alloy-gem>>
paths:
/:
post:
summary: Find matching products based on search text.
operationId: apparelSearch
requestBody:
description: JSON object containing the search text.
required: true
content:
application/json:
schema:
type: object
properties:
search:
type: string
description: The user's search query for product matching.
responses:
'200':
description: Successful response with a JSON array of matching products.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: Product ID.
category:
type: string
description: Product category.
sub_category:
type: string
description: Product sub-category.
uri:
type: string
description: Product URI or URL.
description:
type: string
description: Product description.
literature:
type: object
description: JSON object containing match information from the ML model.
properties:
MATCH:
type: string
description: Whether the product matches the search query (YES/NO).
PERCENTAGE:
type: string
description: Percentage of match.
DIFFERENCE:
type: string
description: Description of differences between the search and product.
'500':
description: Internal server error.
Biarkan konfigurasi lainnya pada nilai defaultnya, lalu klik "Simpan".
- Kembali ke Agen pada tahap ini karena kita ingin menambahkan konfigurasi "Alat" ke "Petunjuk" agen. Tambahkan di bawah ke placeholder petunjuk (Ingat, indentasi penting dalam menentukan alur):
- Greet the user and answer their question to the best of your knowledge.
- Summarize the user's request and ask them to confirm that you understood correctly.
- Check if the request has details like gender, color, material, style and other key apparel details already.
- If not, seek clarifying details.
- If the search request is very broad, then ask the user to narrow down the request with specific details that you believe could be personal preferences.
- Once all the necessary details are met, summarize your final understanding of the request with the user.
- Use ${TOOL: Retail Shopping Tool} to help the user with their task.
- If the request has unrelated input text, gracefully convey that you don't have information on that topic.
- Do not give product availability information outside the source that is provided to you in ${TOOL: Retail Shopping Tool}.
- Do not assist with any information unless you are certain that you know the answer and it is grounded in the source of truth.
- Thank the user for their business and say goodbye.
Pastikan alat "Retail Shopping Tool" dipilih di bagian "Available Tools", lalu simpan agen lagi.
5. Menguji Agen
Di panel sebelah kanan, Anda akan melihat bagian Preview Agent yang memungkinkan Anda menguji agen.
Seperti yang dapat Anda lihat pada screenshot di bawah, saya telah menyapa sebagai pengguna dan memulai percakapan dengan permintaan kemeja putih dengan motif biru:

Berikut adalah respons JSON:

Ini adalah hasil JSON mentah dari Cloud Function yang memproses Penelusuran Kemiripan AlloyDB. Selesai! Sekarang kita sudah siap dengan agen.
6. Contoh Alur Percakapan
Pada tahap ini, Anda dapat menguji dan melakukan iterasi alur agen dialog (percakapan):
User: I'm looking for women's boots for winter.
Agent: (OpenAPI call to Cloud Function that works with AlloyDB Similarity Search)
Cloud Function: (Processes query, returns JSON array)
Agent: Based on your preferences, here are some options: [Product 1, Product 2, Product 3]. Would you like to see more details about any of these?
User: No, That is all. Bye!
Agent: Have a good day!
Perintah Few Shot
Sekarang, misalkan Anda ingin melihat hasil di agen percakapan dalam format grafis tertentu, termasuk gambar dan link. Kita akan melakukannya menggunakan contoh percakapan yang juga dikenal sebagai Few Shot Prompting.
Artinya, kita ingin menambahkan beberapa contoh ke pembuat agen untuk mendapatkan format hasil yang konsisten.
Dalam salah satu screenshot sebelumnya di bagian "Test the Agent", kita melihat respons dari agen sebagai "I see. Anda sedang mencari kaus putih dengan motif biru...". Buka respons tersebut atau buat percakapan pengujian baru dari panel kanan agen:
- Ketik di bawah ini di bagian "Enter User Input":

Anda akan melihat respons seperti ini:

Anda juga akan melihat Array JSON yang ditampilkan oleh endpoint API.
- Sekarang klik Nama Agen (seperti yang ditunjukkan pada gambar di bawah yang ditandai dengan tanda centang merah) dari margin bagian pratinjau dan semua tab Anda di bagian pratinjau chat akan ditandai. Sekarang klik "Simpan Contoh" di pojok kanan atas di bagian pratinjau. Hasilnya akan terlihat seperti ini:

- Simpan percakapan dengan Nama Tampilan "Respons dengan gambar" atau yang serupa, lalu klik "Buat".
- Sekarang buka tab respons yang ditandai dengan tanda centang hitam pada gambar di atas dan ganti teks "Saya mengerti. Anda sedang mencari sandal kuning. Apakah itu benar?" dengan:
I see you are looking for yellow sandals. Here are a few options for you:
<!DOCTYPE html>
<html>
<body>
<h2>Featured Sandals</h2>
<table style="overflow-x: auto; white-space: nowrap;">
<tr>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/d27dbd8e9666b9af2d72fbfde315f76d_images.jpg" alt="Yellow sandals from Estd. 1977" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/b7a479fe5f56457e930541a789c5df68_images.jpg" alt="Yellow sandals from Gliders" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/b6c813734b29b89d1055fd000ea50743_images.jpg" alt="Yellow sandals from Rocia" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/ee0e918c229e76e0e7e61712e9d2ecb3_images.jpg" alt="Yellow flip flops from Numero Uno" width="300">
</td>
<td>
<img src="https://assets.myntassets.com/v1/images/style/properties/5bdd4c9e739205e28ee134ff7849bc60_images.jpg" alt="Yellow flip flops from Numero Uno" width="300">
</td>
</tr>
</table>
</body>
</html>
- Klik "Simpan" di bagian atas.
Ulangi proses ini untuk sebanyak mungkin contoh yang Anda inginkan dengan berbagai variasi dan alur percakapan.
Sekarang lanjutkan dan uji dengan input pengguna:

Beberapa jenis respons lainnya:

Selesai. Kita telah berhasil membuat dan menguji Agen Percakapan untuk aplikasi retail kita.
7. Deployment dan Integrasi
Setelah merasa puas dengan agen, Anda dapat dengan mudah men-deploy-nya ke berbagai saluran menggunakan integrasi Agent Builder. Anda dapat menyematkannya di situs, mengintegrasikannya dengan platform pesan populer, atau bahkan membuat aplikasi seluler khusus. Kita juga dapat menggunakan Agent Builder API secara langsung di aplikasi klien web, yang telah kita bahas dalam blog ini.
8. Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam posting ini, ikuti langkah-langkah berikut:
9. Selamat
Selamat! Dengan mengintegrasikan kecanggihan mesin analisis buatan khusus kami dengan antarmuka Agent Builder yang intuitif, kami telah menciptakan asisten belanja retail pintar yang memberikan pengalaman yang dipersonalisasi, menjawab pertanyaan secara akurat, dan pada akhirnya meningkatkan kepuasan pelanggan dan penjualan. Dengan menggabungkan kemampuan AlloyDB, Vertex AI, dan Vector Search, kita telah membuat lompatan besar dalam membuat penelusuran kontekstual dan vektor dapat diakses, efisien, benar-benar berbasis makna, dan berorientasi pada agen.