1. Ringkasan
Terakhir Diperbarui: 10-10-2023
Yang akan Anda build
Dalam codelab ini, Anda akan menggunakan Vertex AI Conversation dan Dialogflow CX untuk membangun, men-deploy, dan mengonfigurasi agen virtual guna membantu orang yang ingin mendonorkan darah dan memastikan mereka memenuhi persyaratan kelayakan yang diperlukan. Agen akan menggunakan data publik yang nyata dan model bahasa besar (LLM) generatif Google selama fulfillment Dialogflow CX.
Fitur yang akan Anda gunakan
Untuk menyelesaikan codelab ini, Anda akan mengonfigurasi dan menggunakan tiga fitur berbeda:
Agen penyimpanan data
Fitur Vertex AI Conversation membuat agen Dialogflow khusus, yang disebut agen penyimpanan data.
Dengan fitur ini, Anda memberikan URL situs, data terstruktur atau data tidak terstruktur (penyimpanan data), lalu Google akan mengurai konten Anda dan membuat agen virtual yang didukung oleh penyimpanan data dan model bahasa besar. Kemudian, pelanggan dan pengguna akhir Anda dapat melakukan percakapan dengan agen dan mengajukan pertanyaan tentang konten. Lihat pengantar Vertex AI Conversation untuk mengetahui informasi tentang jenis agen ini.
Generator
Fitur generator adalah fitur Dialogflow CX yang memungkinkan developer menggunakan model bahasa besar (LLM) generatif terbaru Google dan perintah kustom untuk menghasilkan respons agen saat runtime. Generator dapat menangani respons umum yang melibatkan pengetahuan umum dari set data tekstual besar yang digunakan untuk melatihnya atau konteks dari percakapan.
Penggantian generatif
Fitur penggantian respons generatif menggunakan model bahasa besar (LLM) generatif terbaru Google untuk menghasilkan respons agen virtual saat input pengguna akhir tidak cocok dengan intent atau parameter untuk pengisian formulir. Fitur ini dapat dikonfigurasi dengan perintah teks yang menginstruksikan cara LLM merespons. Anda dapat menggunakan perintah teks standar atau menambahkan perintah Anda sendiri. Anda dapat mengaktifkan penggantian respons generatif pada pengendali peristiwa tidak cocok yang digunakan dalam alur, halaman, atau selama pengisian parameter. Jika penggantian respons generatif diaktifkan untuk peristiwa tanpa kecocokan, setiap kali peristiwa tersebut dipicu, Dialogflow akan mencoba menghasilkan respons generatif yang akan diucapkan kembali kepada pengguna. Jika pembuatan respons tidak berhasil, respons agen yang ditentukan secara reguler akan dikeluarkan. Jika Anda ingin mempelajari lebih lanjut penggantian generatif, coba codelab ini.
Yang akan Anda pelajari
- Cara membuat agen penyimpanan data dari data tidak terstruktur
- Cara menggunakan handler pengetahuan untuk memungkinkan pengguna akhir melakukan percakapan dengan agen virtual tentang konten yang ditambahkan ke penyimpanan data.
- Cara mengonfigurasi perintah teks generator dan membuatnya menjadi kontekstual menggunakan placeholder perintah generator bawaan.
- Cara menandai kata sebagai placeholder perintah generator, lalu mengaitkannya dengan parameter sesi dalam fulfillment untuk menggunakan nilainya selama eksekusi.
- Cara mengonfigurasi generator untuk menangani respons yang melibatkan pengetahuan dari set data tekstual besar dan konteks dari percakapan saat ini.
- Cara membuat email formal menggunakan generator
- Cara menguji agen Anda dan menyimulasikan pertanyaan pelanggan yang memicu respons yang dihasilkan
Yang Anda butuhkan
- Project Google Cloud
- Browser seperti Chrome
2. Mengaktifkan API
Sebelum dapat membuat agen penyimpanan data di Vertex AI Conversation, Anda harus mengaktifkan Dialogflow API serta Vertex AI Search and Conversation API.
Untuk mengaktifkan Dialogflow API, ikuti langkah-langkah berikut:
- Di browser Anda, buka halaman Detail Layanan Dialogflow API.
- Klik tombol Enable untuk mengaktifkan Dialogflow API di project Google Cloud Anda.
Untuk mengaktifkan Vertex AI Search and Conversation API, ikuti langkah-langkah berikut:
- Di Konsol Google Cloud, buka konsol Vertex AI Search and Conversation.
- Baca dan setujui Persyaratan Layanan, lalu klik Continue and activate the API.
3. Membuat aplikasi chat baru dan penyimpanan data untuk aplikasi Anda
Sekarang, Anda akan membuat aplikasi chat baru untuk agen virtual dan mengonfigurasinya dengan sumber data. Tujuan agen yang akan Anda buat adalah untuk membantu pelanggan yang memiliki pertanyaan tentang kelayakan donor darah. Anda akan menggunakan Australian Red Cross Lifeblood sebagai sumber tepercaya dan membuat penyimpanan data berdasarkan data tidak terstruktur dari situs kelayakan donor darah tersebut.
- Untuk membuat aplikasi chat baru di Vertex AI Conversation, Anda dapat:
- Buka konsol Vertex AI Conversation, lalu klik +New app di dekat bagian atas konsol.
- Buka konsol Dialogflow CX, klik +Create new agent, lalu pilih opsi Auto-generate. Kemudian, Anda akan dialihkan ke langkah berikutnya di konsol Vertex AI Conversation.
- Dari konsol Vertex AI Conversation, pilih Chat sebagai jenis aplikasi yang ingin Anda buat.
- Masukkan Nama perusahaan
Save a Life. Parameter ini digunakan untuk menentukan perusahaan yang diwakili agen Anda dan cakupan agen Anda. - Tentukan Agent name
Blood Donation Agent. - Klik Lanjutkan.
- Klik Create new data store.
- Pilih Cloud Storage sebagai sumber data untuk penyimpanan data Anda.
- Tentukan folder Google Cloud Storage berikut yang berisi data contoh untuk codelab ini, dan perhatikan bahwa awalan
gs://tidak diperlukan:cloud-samples-data/dialogflow-cx/arc-lifeblood - Pilih Unstructured documents sebagai jenis data yang Anda impor.
- Klik Lanjutkan.
- Tentukan Data store name, yaitu
Australian Red Cross Lifeblood Unstructured. - Klik Create untuk membuat penyimpanan data.
- Di daftar penyimpanan data, pilih
Australian Red Cross Lifeblood Unstructuredyang baru dibuat. - Klik Create untuk membuat aplikasi chat.
Selamat! Anda telah selesai membangun aplikasi chat berbasis pengetahuan yang siap membantu calon pendonor darah, jadi luangkan waktu untuk merayakannya.
Namun, masih ada tugas lain yang perlu dilakukan untuk membuat agen dapat diakses oleh pengguna Anda. Di bagian berikutnya, Anda akan menggunakan handler pengetahuan untuk mengaktifkan percakapan antara agen dan pengguna akhir tentang persyaratan kelayakan.
4. Mengonfigurasi agen untuk menjawab FAQ terkait kelayakan donor darah
Memberikan perintah penyimpanan data
Saat proses pengumpulan dokumen berjalan di latar belakang, mari kita beri agen sebuah merek dengan mengedit perintah penyimpanan data.
- Dari konsol Vertex AI Conversation, klik nama aplikasi chat Anda, yang akan mengalihkan Anda ke konsol Dialogflow CX untuk pengujian dan penyesuaian lebih lanjut.
- Di konsol Dialogflow CX dan dari dalam agen Anda, klik Agent settings (sudut kanan atas halaman), lalu buka tab ML, dan terakhir buka tab Generative AI.

- Isi formulir seperti di bawah untuk membuat perintah penyimpanan data berikut: Your name is
Donate, and you are a helpful and politechatbotatSave a life, a fictitious organization. Tugas Anda adalah membantuhumans with eligibility information.

Mengaktifkan penggantian respons generatif untuk peristiwa tidak cocok pada Default Start Flow
- Beralih ke tab Build dan buka Start Page.
- Klik handler peristiwa sys.no-match-default. Kecuali jika kotak sudah dicentang, aktifkan fitur penggantian respons generatif.

Periksa penyimpanan data agen
Di Halaman Mulai, klik Edit penyimpanan data untuk melihat Setelan penyimpanan data.

Penyimpanan data yang telah Anda buat sebelumnya sudah dipilih untuk Anda oleh Dialogflow.

Scroll ke bawah ke Agent Responses di bagian Fulfillment. Fulfillment adalah respons agen kepada pengguna akhir. Dialogflow telah mengisi Agent says dengan parameter $request.knowledge.answers[0] yang saat runtime berisi jawaban teratas untuk pertanyaan pengguna.

5. Menguji agen
Setelah dokumen tersedia dan siap digunakan oleh agen Anda, periksa kualitas jawabannya.
Klik Test Agent untuk membuka Simulator lagi.

Ajukan pertanyaan yang Anda harapkan dapat ditemukan di halaman FAQ situs:
What age do I need to be to donate?Can pregnant women donate?I've just come back from a trip to Africa. Can I donate?How can I schedule an appointment?

Perhatikan bahwa jawaban diambil dari situs Australian Red Cross Lifeblood. Seperti yang dinyatakan di halaman ini, ada usia minimum dan maksimum untuk donor darah. Usia minimum adalah 18 tahun dan usia maksimum adalah 75 tahun untuk pendonor pertama kali. Bukti lebih lanjut bahwa kita menarik informasi dari penyimpanan data diberikan oleh ikon bintang kecil yang muncul pada respons agen dan oleh respons JSON asli.

Terakhir, mari kita coba dan tantang agen dengan pertanyaan yang sama sekali tidak terkait dengan donor darah.
Pengguna: "Bagaimana cuaca di Melbourne?"
Agen: "Maaf, kami tidak dapat membantu Anda terkait hal ini. Ada yang bisa saya bantu terkait informasi kelayakan?"
Jawaban ini berisi konten buatan AI dan berasal dari perintah teks yang telah dibuat oleh Dialogflow, dimulai dari setelan konektor jawaban yang diberikan sebelumnya: "Your name is Donate, and you are a helpful and polite chatbot at Save a Life. Tugas Anda adalah membantu manusia mendapatkan informasi kelayakan". Perintah teks ini berisi nama perusahaan, nama agen, dan yang paling penting, cakupannya yang digunakan oleh Dialogflow untuk membuat respons agen.
Bagus! Sejauh ini, Anda menggunakan penyimpanan data untuk membantu menjawab pertanyaan umum (FAQ) yang dimiliki orang-orang terkait donor darah. Di bagian berikutnya dari codelab ini, kita akan melihat cara mengikat perintah teks generator ke konten yang sama untuk membuat keputusan yang tepat.
6. Menyiapkan agen untuk kuis kelayakan
Tugas kita selanjutnya adalah mendesain agen untuk menentukan kelayakan pengguna sebagai pendonor darah. Ada persyaratan ketat yang harus dipenuhi pendonor seperti usia, berat badan, kondisi kesehatan, perjalanan baru-baru ini, dll. Untuk cakupan codelab ini, kita hanya akan mempertimbangkan usia dan berat badan. Generator akan menggunakan model bahasa besar (LLM) Google untuk membuat keputusan yang tepat secara dinamis berdasarkan konteks percakapan dan pusat informasi.
Mengonfigurasi rute dan parameter baru
- Buka Halaman Mulai dan klik Edit penyimpanan data
- Ubah respons agen yang ada menjadi
$request.knowledge.answers[0] Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives?.

- Klik tombol Simpan
- Sekarang kita perlu mendesain agen untuk menangani respons "ya" dan "tidak". Untuk memulai, buat intent confirmation.yes dan intent confirmation.no. Ikuti panduan ini tentang penggunaan ulang maksud.
- Kemudian, di Start Page, buat rute untuk maksud confirmation.yes yang bertransisi ke halaman baru Eligibility Quiz.


- Seperti yang disebutkan sebelumnya, kita akan menyederhanakan kuis dan hanya mempertimbangkan usia dan berat badan pengguna untuk menentukan apakah mereka memenuhi syarat untuk mendonasi atau tidak. Buka halaman Eligibility Quiz dan tambahkan parameter formulir baru age-weight, pilih
@sys.anysebagai jenis entity. Berikan"What is your age and weight?"sebagai pemenuhan perintah awal. Kita ingin mengumpulkan usia dan berat badan sekaligus. Simpan semua perubahan.

Membuat dan mengonfigurasi generator kelayakan
Fitur generator adalah fitur Dialogflow CX yang memungkinkan developer menggunakan model bahasa besar (LLM) generatif terbaru Google selama fulfillment Dialogflow CX. Generator akan menghasilkan respons agen saat runtime. Generator dapat menangani respons umum yang melibatkan pengetahuan umum dari set data tekstual besar yang digunakan untuk melatihnya atau konteks dari percakapan.
Kita akan membuat generator baru yang akan membandingkan informasi yang diberikan oleh pengguna (seperti usia dan berat badan) dengan persyaratan kelayakan untuk menentukan apakah pengguna dapat mendonorkan darah.
- Di konsol Dialogflow CX, buka tab Manage, pilih Generators, lalu klik Create new.

- Selanjutnya, masukkan nama tampilan yang deskriptif dan tulis perintah teks. Tetap gunakan setelan default untuk kendali mutu model. Kemudian, klik Simpan untuk membuat generator.
- Nama tampilan:
Blood Donation Eligibility - Perintah teks:
Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)
- Nama tampilan:
Perintah teks dikirim ke model generatif selama fulfillment saat runtime. Pertanyaan atau permintaan harus jelas agar model dapat menghasilkan respons yang memuaskan. Anda dapat menggunakan placeholder perintah generator bawaan khusus dalam perintah teks:
$conversationPercakapan antara agen dan pengguna, tidak termasuk ucapan pengguna yang terakhir.$last-user-utteranceUcapan terakhir pengguna.
Perintah teks yang telah Anda konfigurasi mengharapkan pengguna memberikan usia dan berat badan dalam satu giliran percakapan (the `$last-user-utterance``).
Menggunakan generator dalam fulfillment dan mengonfigurasi semua parameter yang diperlukan
- Di halaman Eligibility Quiz, tambahkan rute baru yang akan terjadi saat semua parameter telah diisi. Masukkan persyaratan kondisi
$page.params.status = "FINAL", lalu klik Simpan.

- Buka bagian Generators di panel Fulfillment, lalu luaskan. Kemudian, klik Add generator dan pilih generator Blood Donation Eligibility. Setelah memilih generator, Anda perlu menentukan parameter output yang akan berisi hasil generator setelah eksekusi.

- Gunakan parameter output dalam respons agen dan simpan rute. Sekarang Anda siap menguji semuanya.

7. Menguji ulang agen Anda
Klik Test Agent untuk membuka Simulator lagi.

Di Simulator, mulai percakapan baru dengan agen. Pertama, tanyakan persyaratan usia, lalu lanjutkan ke kuis kelayakan. Uji jalur "eligible" terlebih dahulu, jadi masukkan usia antara 18-75 dan berat di atas 50 Kg.

Kemudian, periksa apakah pemeriksaan kelayakan gagal jika salah satu atau kedua persyaratan tidak terpenuhi.

Bagus, generator berfungsi seperti yang diharapkan. Atau tidak? Apa yang terjadi jika pengguna memberikan usia, tetapi tidak memberikan berat badan (atau sebaliknya)?

8. Penyesuaian perintah generator
Mengumpulkan usia dan berat badan sekaligus sepertinya tidak berfungsi, kecuali jika baik usia maupun berat badan diberikan. Sebagai gantinya, kita harus membuat formulir yang mengumpulkan kedua nilai sebagai parameter entity. Untuk membuat perintah kontekstual dari semua persyaratan kelayakan (seperti usia dan berat), kita dapat menggunakan placeholder dengan menambahkan $ sebelum kata. Lalu, kita akan mengaitkan placeholder perintah generator ini dengan parameter sesi dalam fulfillment dan placeholder tersebut akan digantikan oleh nilai parameter sesi selama eksekusi.
- Buka halaman Eligibility Quiz dan tambahkan dua parameter formulir terpisah: satu untuk berat dan satu untuk usia. Pilih
@sys.number-integersebagai jenis entity dan tandai parameter yang diperlukan. Berikan fulfillment perintah awal sepertiHow old are you?danWhat is your correct weight?. Simpan semua perubahan.

- Sebelum mengubah perintah teks generator karena kita akan menambahkan dua placeholder kustom baru, kita harus menghapus generator dari pemenuhan rute terlebih dahulu. Klik Simpan.

- Buka tab Manage, pilih Generators, lalu perbarui perintah teks generator Blood Donation Eligibility dengan:
Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why.. Klik Simpan.
Perhatikan bahwa kita tidak hanya membuat perintah teks kontekstual dari parameter formulir usia dan berat, tetapi kita juga telah mengubah kalimat terakhir agar dapat membuat email formal kepada pengguna yang berisi hasil resmi kuis kelayakan.

- Di halaman Eligibility Quiz, pilih rute dan luaskan bagian Generators di panel Fulfillment. Kemudian, klik Add generator dan pilih generator Blood Donation Eligibility. Setelah memilih generator, Anda perlu mengaitkan placeholder perintah baru dengan parameter sesi masing-masing. Selain itu, Anda perlu menyetel ulang parameter output. Klik Simpan.

- Uji agen lagi. Pemeriksaan kelayakan kini mempertimbangkan usia dan berat badan, dan kata-katanya telah berubah dari gaya percakapan menjadi respons yang lebih sopan dan siap dikirim tanpa memerlukan interaksi manusia.


9. Selamat
Selamat, Anda telah menyelesaikan codelab ini.

Hari ini kita telah menyelidiki generator dalam konteks kuis kelayakan. Anda telah melihat bahwa generator menggunakan LLM untuk menghasilkan respons agen dan jika didukung oleh pusat informasi, generator juga dapat membuat keputusan yang tepat. Tentu ada banyak kasus penggunaan lain yang dapat diterapkan dengan memanfaatkan generator dan penyimpanan data, dan kami tidak sabar untuk mengetahuinya.
Pembersihan
Anda dapat melakukan pembersihan berikut agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam codelab ini:
- Untuk menghindari tagihan Google Cloud yang tidak perlu, gunakan konsol Google Cloud untuk menghapus project jika Anda tidak membutuhkannya.
- Jika Anda menggunakan project Google Cloud yang sudah ada, hapus resource yang Anda buat untuk menghindari timbulnya biaya pada akun Anda. Untuk mengetahui informasi selengkapnya, lihat langkah-langkah untuk Menghapus aplikasi.
- Jika Anda ingin menonaktifkan API untuk Vertex AI Conversation dan Dialogflow, buka halaman Detail Layanan Discovery Engine API, klik Disable API, lalu konfirmasi, dan buka halaman Detail Layanan Dialogflow API, klik Disable API, lalu konfirmasi.
Pelajari Lebih Lanjut
Lanjutkan mempelajari AI Percakapan dan AI Generatif dengan panduan dan referensi berikut:
- Dokumentasi untuk Dialogflow CX
- Pengantar Vertex AI Conversation
- Membuat dan menggunakan agen penyimpanan data
- Dokumentasi untuk Vertex AI Conversation
- AI Generatif di Google Cloud
Lisensi
Karya ini dilisensikan berdasarkan Lisensi Umum Creative Commons Attribution 2.0.