Agen penyimpanan data adalah jenis khusus agen Dialogflow yang dapat memberikan respons agen yang dihasilkan LLM berdasarkan konten situs Anda dan data yang diupload.
Untuk membuat agen ini, Anda menyediakan penyimpanan data saat membuat agen.
Agen penyimpanan data memiliki pengendali status khusus yang disebut pengendali penyimpanan data. Dengan menggunakan pengendali penyimpanan data ini, agen penyimpanan data Anda dapat berkomunikasi tentang konten tersebut dengan pengguna akhir Anda.
Batasan
Batasan berikut berlaku:
- Fitur ini saat ini hanya mendukung bahasa tertentu di GA. Lihat kolom penyimpanan data di referensi bahasa.
- Hanya region berikut yang didukung: multi-region
global
,us
, dan multi-regioneu
. - Satu-satunya jenis penyimpanan data terstruktur yang didukung adalah FAQ.
- Aplikasi dengan penyimpanan data yang terpotong dan tidak tidak didukung.
Kontrol akses
Jika Anda adalah pemilik project, Anda memiliki semua izin yang diperlukan untuk membuat agen penyimpanan data. Jika bukan pemilik project, Anda harus memiliki peran berikut:
- Admin Dialogflow
- Admin Discovery Engine
Untuk mengetahui informasi selengkapnya, lihat Panduan kontrol akses Dialogflow.
Membuat agen penyimpanan data
Untuk membuat agen penyimpanan data:
- Jika belum melakukannya, ikuti petunjuk setup Dialogflow.
Buka konsol Vertex AI Conversation:
Pilih project Anda dari drop-down konsol.
Jika Anda belum mengaktifkan API, baca dan setujui Persyaratan Layanan, lalu klik Continue and enable the API.
Klik Create a New App atau New App.
Pilih Chat.
Masukkan nama perusahaan Anda di bagian Konfigurasi agen.
Luaskan bagian setelan zona waktu dan bahasa.
Pilih zona waktu.
Pilih bahasa default.
Masukkan nama agen di bagian Nama agen Anda.
Pilih region atau multi-region di bagian Lokasi agen Anda.
Klik Lanjutkan.
Hubungkan penyimpanan data ke agen Anda dengan melakukan salah satu hal berikut:
- Pilih penyimpanan data yang ada yang Anda buat sebelumnya.
- Buat penyimpanan data baru:
- Klik Create New Data Store.
- Pilih sumber data.
- Berikan data dan konfigurasi untuk sumber penyimpanan data yang Anda pilih. Lokasi penyimpanan data Anda harus sesuai dengan lokasi agen.
- Klik Buat untuk membuat penyimpanan data.
- Pilih penyimpanan data baru Anda.
Klik Create.
Agen Anda kini dibuat, dan Anda akan otomatis dialihkan ke halaman Penyimpanan data yang tersedia, tempat Anda dapat menambahkan lebih banyak penyimpanan data sesuai kebutuhan.
Jika telah membuat penyimpanan data baru untuk situs, Anda harus memverifikasi domain Anda.
Untuk membuka agen dengan Dialogflow CX, klik Preview di panel kiri. Di konsol Dialogflow CX, Anda dapat mengedit atau menambahkan pengendali penyimpanan data, men-deploy agen, dan secara opsional menambahkan flow yang akan menangani skenario yang tidak tercakup dalam penyimpanan data.
Uji agen Anda
Anda dapat menggunakan simulator Dialogflow CX untuk menguji agen Anda.
Meningkatkan respons generatif agen
Jika Anda menemukan beberapa respons selama pengujian yang tidak memenuhi harapan Anda, coba langkah berikut.
Anda dapat menimpa jawaban dengan menambahkan entri FAQ untuk pertanyaan tertentu.
Penyesuaian lebih lanjut tersedia untuk agen Anda di Konsol Dialogflow. Untuk membuka konsol, klik nama agen Anda dalam daftar agen yang tersedia di konsol. Kemudian, buka halaman Agent Settings Dialogflow dan buka tab ML, lalu sub-tab Generative AI. Penyesuaian berikut tersedia:
Keyakinan dasar
Untuk setiap respons yang dihasilkan dari konten penyimpanan data yang terhubung, kami mengevaluasi tingkat keyakinan, yang mengukur keyakinan bahwa semua informasi dalam respons didukung oleh informasi di penyimpanan data. Anda dapat menyesuaikan jenis respons yang diizinkan dengan memilih tingkat keyakinan terendah yang nyaman bagi Anda. Jika respons kembali dengan tingkat keyakinan yang benar-benar lebih rendah dari tingkat tersebut, respons tidak akan ditampilkan.
Ada 5 tingkat keyakinan yang dapat dipilih: sangat rendah, rendah, sedang, tinggi, dan sangat tinggi.
Perintah penyimpanan data
Anda memiliki opsi untuk menambahkan informasi tambahan tentang agen yang dapat meningkatkan kualitas jawaban yang dihasilkan dari konten penyimpanan data dan membuatnya terasa lebih seperti merek Anda:
- Nama agen - nama yang harus digunakan agen itu sendiri. Jika Anda tidak menyetelnya, nilai default AI Assistant akan digunakan.
- Identitas agen - apa yang dimaksud dengan persona agen. Jika Anda tidak menyetelnya, nilai default AI Assistant akan digunakan.
- Company name harus ditetapkan ke nama perusahaan Anda. Daftar ini seharusnya sudah ditetapkan sebagai bagian dari alur pembuatan agen, tetapi dapat disesuaikan sesuai kebutuhan. Sebaiknya tetapkan kolom ini dengan benar (dan terutama jangan biarkan kosong), supaya kualitas jawaban yang dibuat tidak terganggu.
- Deskripsi perusahaan adalah deskripsi singkat tentang hal yang ditawarkan atau ditawarkan perusahaan.
- Cakupan agen - tempat agen dimaksudkan untuk digunakan. Jika kebijakan ini tidak disetel, nilai default di situs perusahaan akan digunakan.
Setelah mengisi bagian ini sebagian atau seluruhnya, Anda dapat memeriksa di sisi kanan, di bagian Your prompt, paragraf pendek yang berasal dari setelan ini dan yang akan digunakan sebagai bagian dari pembuatan jawaban.
Frasa yang diblokir
Anda memiliki opsi untuk mendefinisikan frasa tertentu yang seharusnya tidak diizinkan. Jika respons yang dihasilkan (atau dalam hal ini, konten yang masuk ke perintah yang digunakan untuk menghasilkan respons, misalnya input pengguna terakhir) berisi salah satu frasa yang dilarang, respons tersebut tidak akan ditampilkan.
Pemilihan model penyimpanan data dan perintah perangkuman
Ketika kueri pengguna diproses, agen melakukan penelusuran penyimpanan data untuk menemukan sumber yang baik. Agen kemudian mengirim kueri pengguna dan sumber yang ditemukan ke LLM, yang melakukan perangkuman.
Anda dapat memilih model yang akan digunakan untuk perangkuman dan jika perlu, memberikan perintah Anda sendiri.
Pilih model generatif
Anda dapat memilih model generatif yang digunakan oleh agen penyimpanan data untuk permintaan generatif ringkasan. Jika tidak ada yang dipilih, text-bison@001 akan digunakan. Tabel berikut berisi opsi yang tersedia:
ID Model | Dukungan Bahasa |
---|---|
text-bison@001 | Tersedia dalam semua bahasa yang didukung. |
teks-bison@002 | Tersedia dalam semua bahasa yang didukung. |
text-bison@001 Tuned (percakapan) | Saat ini hanya tersedia bahasa Inggris. |
text-bison@001 disetel (informasional) | Saat ini hanya tersedia bahasa Inggris. |
gemini-1.0-pro-001 | Tersedia dalam semua bahasa yang didukung. |
Menyesuaikan perintah ringkasan
Anda dapat memberikan perintah Anda sendiri untuk panggilan LLM ringkasan. Prompt adalah template teks yang mungkin berisi placeholder yang telah ditentukan. Placeholder akan diganti dengan nilai yang sesuai saat runtime dan teks akhir akan dikirim ke LLM.
Placeholder tersebut adalah sebagai berikut:
$original-query
: Teks kueri pengguna.$rewritten-query
: Dialogflow menggunakan modul rewriter untuk menulis ulang kueri pengguna asli ke dalam format yang lebih akurat.$sources
: Dialogflow menggunakan Enterprise Search untuk menelusuri sumber berdasarkan kueri pengguna. Sumber yang ditemukan dirender dalam format tertentu:[1] title of first source content of first source [2] title of second source content of first source
$conversation
: Histori percakapan dirender dalam format berikut:Human: user's first query AI: answer to user's first query Human: user's second query AI: answer to user's second query
Dialog kustom harus menginstruksikan LLM untuk menampilkan "NOT_ENOUGH_INFORMATION" jika tidak dapat memberikan jawaban. Dalam hal ini, agen akan memanggil peristiwa ketidakcocokan.
Contoh:
Given the conversation between a Human and a AI assistant and a list of sources,
write a final answer for the AI assistant.
Follow these guidelines:
+ Answer the Human's query and make sure you mention all relevant details from
the sources, using exactly the same words as the sources if possible.
+ The answer must be based only on the sources and not introduce any additional
information.
+ All numbers, like price, date, time or phone numbers must appear exactly as
they are in the sources.
+ Give as comprehensive answer as possible given the sources. Include all
important details, and any caveats and conditions that apply.
+ The answer MUST be in English.
+ Don't try to make up an answer: If the answer cannot be found in the sources,
you admit that you don't know and you answer NOT_ENOUGH_INFORMATION.
You will be given a few examples before you begin.
Example 1:
Sources:
[1] <product or service> Info Page
Yes, <company> offers <product or service> in various options or variations.
Human: Do you sell <product or service>?
AI: Yes, <company> sells <product or service>. [1] Is there anything else I can
help you with?
Example 2:
Sources:
[1] Andrea - Wikipedia
Andrea is a given name which is common worldwide for both males and females.
Human: How is the weather?
AI: NOT_ENOUGH_INFORMATION
Begin! Let's work this out step by step to be sure we have the right answer.
Sources:
$sources
$conversation
Human: $original-query
AI:
Men-deploy agen
Ada banyak cara untuk men-deploy agen:
Opsi paling sederhana adalah menggunakan integrasi Dialogflow CX, yang menyediakan antarmuka pengguna untuk agen Anda. Setiap integrasi memberikan petunjuk untuk deployment.
Integrasi Dialogflow Messaging adalah opsi yang sangat tepat untuk agen penyimpanan data. Solusi ini memiliki opsi bawaan untuk fitur generatif.
Anda dapat membuat antarmuka pengguna Anda sendiri dan menggunakan Dialogflow CX API untuk interaksi. Implementasi antarmuka pengguna Anda adalah mengontrol deployment.
Melacak performa agen Anda
Anda dapat memantau histori percakapan agen dan menggunakan alat analisis untuk statistik agen.
Intent khusus
Selain menangani pertanyaan tentang konten yang Anda berikan, agen penyimpanan data dapat menangani jenis pertanyaan berikut:
- Identifikasi agen: Menangani pertanyaan seperti "Siapa Anda?" atau "Apakah Anda manusia?".
- Eskalasi ke agen manusia: Menangani pertanyaan seperti "Saya ingin berbicara dengan orang" atau "Saya ingin berbicara dengan orang sungguhan".
Hal ini dilakukan dengan intent dan rute intent yang dihasilkan secara otomatis.
Agen campuran
Jika sudah memiliki agen Dialogflow CX, Anda dapat mengupgrade agen ini menjadi agen campuran, yang menggabungkan kecanggihan kontrol percakapan yang akurat (alur, parameter, intent, kondisi, transisi, dan sebagainya) dengan fitur generatif pengendali penyimpanan data.
Sebagai bagian dari upgrade ini, Anda mungkin ingin menghapus atau menonaktifkan sementara rute intent (saat menguji pengendali penyimpanan data) untuk skenario percakapan tertentu dari agen Anda, karena pengendali penyimpanan data dapat menangani skenario tersebut dengan lebih mudah.
Skenario berikut direkomendasikan untuk pengendali penyimpanan data:
- Pertanyaan yang dapat dijawab oleh dokumen atau situs organisasi Anda.
- FAQ yang tidak memerlukan pencarian database.
Skenario berikut tidak direkomendasikan untuk pengendali penyimpanan data:
- Konten yang tidak memiliki jawaban untuk pertanyaan yang diinginkan.
- Pertanyaan yang memerlukan pencarian database atau permintaan server.
- Skenario yang memerlukan penyamaran data.
- Skenario yang memerlukan respons agen deterministik.
Dialogflow mengevaluasi input pengguna akhir dalam urutan preferensi berikut:
- Kecocokan intent untuk rute dalam cakupan
- FAQ konten penyimpanan data
- Konten penyimpanan data tidak terstruktur
Urutan evaluasi input
Dialogflow mengevaluasi input pengguna akhir dalam urutan berikut untuk agen hybrid:
- Input parameter saat pengisian formulir.
- Intent cocok untuk rute dalam cakupan.
- Pengendali penyimpanan data dengan konten penyimpanan data FAQ.
- Pengendali penyimpanan data dengan konten penyimpanan data tidak terstruktur.
Menambahkan atau mengedit pengendali penyimpanan data untuk agen yang sudah ada
Pengendali penyimpanan data adalah jenis khusus pengendali status Dialogflow. Artinya, Anda dapat menerapkannya ke alur atau halaman, dan keduanya dievaluasi menggunakan aturan cakupan yang sama.
Untuk menambahkan atau mengedit pengendali penyimpanan data:
- Buka Konsol Dialogflow CX.
- Pilih project Google Cloud Anda.
- Pilih agen.
- Pilih alur yang terkait dengan pengendali penyimpanan data. Ini biasanya merupakan alur awal default.
- Pilih halaman yang terkait dengan pengendali penyimpanan data. Halaman ini biasanya adalah halaman awal.
- Klik Add state handler di data halaman, lalu pilih data store.
- Jika perlu membuat penyimpanan data, Anda akan diarahkan ke antarmuka pengguna Vertex AI Search and Conversation. Lihat informasi penyimpanan data untuk membantu Anda membuat pilihan.
- Jika Anda sudah memiliki penyimpanan data, klik Edit penyimpanan data.
- Lakukan perubahan sesuai kebutuhan dan simpan setelah Anda selesai. Lihat informasi di bawah tentang setelan khusus penyimpanan data.
Respons agen
Di bagian Respons agen, Anda dapat memberikan respons kustom yang merujuk pada jawaban generatif.
Gunakan $request.knowledge.questions[0]
di bagian Kata agen untuk memberikan jawaban generatif.
Opsi respons penyimpanan data
Anda dapat memperbarui kolom Jumlah link maksimum untuk menunjukkan jumlah maksimum link tambahan yang harus disediakan oleh jawaban generatif.
Menangani penyimpangan percakapan
Pengguna akhir dapat mengajukan pertanyaan klarifikasi selama percakapan. Misalnya, selama pengumpulan informasi kartu kredit, mereka mungkin ingin mengklarifikasi apa yang dimaksud dengan CVV. Dalam hal ini, agen Anda harus menjawab pertanyaan dan kembali mengumpulkan informasi kartu kredit yang diperlukan. Untuk melakukannya, Anda dapat membuat pengendali penyimpanan data dengan penyimpanan data yang menjawab pertanyaan, menerapkan pengendali tersebut ke halaman awal alur dari alur yang menangani pengumpulan informasi kartu kredit, dan menetapkan target transisi untuk pengendali ini kembali ke "halaman saat ini".
Menangani pencocokan intent yang tidak diinginkan
Jika agen Anda cocok dengan intent saat harus menggunakan pengendali penyimpanan data, Anda dapat mencoba cara berikut untuk memperbaikinya:
- Hapus atau ubah frasa pelatihan yang tidak jelas, sehingga semua frasa pelatihan Anda dengan tepat menangani intent yang diinginkan dan tidak bertentangan dengan konten penyimpanan data Anda.
- Gunakan contoh negatif untuk menghindari pencocokan intent.
Pemfilteran penyimpanan data
Dalam beberapa kasus, Anda mungkin hanya ingin penyimpanan data tertentu yang tersedia untuk kueri, bergantung pada parameter value sesi. Misalnya, Anda mungkin memiliki penyimpanan data unik untuk kategori produk. Untuk menyelesaikan pemfilteran penyimpanan data untuk kategori produk:
- Tetapkan parameter sesi ke kategori produk.
- Buat rute kondisi yang memeriksa nilai parameter sesi dan bertransisi ke halaman tertentu yang memiliki pengendali penyimpanan data yang diinginkan.
- Pengendali penyimpanan data harus bertransisi kembali ke halaman pemanggilan, agar percakapan dapat dilanjutkan.
Personalisasi
Untuk menjadikan jawaban generatif lebih relevan bagi pengguna akhir, Anda dapat memberikan informasi tentang pengguna kepada Dialogflow.
Informasi ini disediakan sebagai JSON. Tidak ada skema yang diharapkan, jadi Anda bebas menentukan properti objek. JSON ini dikirim ke model bahasa besar apa adanya, sehingga nama dan nilai properti yang deskriptif akan memberikan hasil terbaik.
Contoh:
{
"subscription plan": "Business Premium Plus",
"devices owned": [
{"model": "Google Pixel 7"},
{"model": "Google Pixel Tablet"}
]
}
Melakukan personalisasi dengan Dialogflow API
Anda dapat memberikan data ini ke Dialogflow saat mengirim permintaan intent deteksi. Informasi ini harus diberikan dalam setiap permintaan intent deteksi, karena tidak dipertahankan dalam sesi.
Berikan informasi ini di kolom queryParams.endUserMetadata
dalam metode Sessions.detectIntent
.
Pilih protokol dan versi untuk Referensi sesi:
Protokol | V3 | V3beta1 |
---|---|---|
REST | Referensi sesi | Referensi sesi |
RPC | Antarmuka sesi | Antarmuka sesi |
C++ | SessionsClient | Tidak tersedia |
C# | SessionsClient | Tidak tersedia |
Go | SessionsClient | Tidak tersedia |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Tidak tersedia | Tidak tersedia |
Python | SessionsClient | SessionsClient |
Ruby | Tidak tersedia | Tidak tersedia |
Mempersonalisasi dengan Dialogflow Messenger
Anda dapat memberikan data ini ke integrasi Dialogflow Messenger. Lihat metode setContext.
Konfigurasi penelusuran
Untuk memiliki kontrol yang lebih baik atas perilaku agen dan meningkatkan kualitas jawaban, tingkatkan dan filter konfigurasi penelusuran ditampilkan sehingga Anda dapat meningkatkan, menyembunyikan, dan memfilter dokumen.
Kontrol peningkatan memungkinkan Anda mengubah peringkat hasil penelusuran dengan menerapkan nilai peningkatan (lebih besar dari nol untuk peringkat lebih tinggi, kurang dari nol untuk peringkat lebih rendah) ke dokumen tertentu.
Kontrol filter memungkinkan Anda menyimpan atau menghapus hasil penelusuran berdasarkan kriteria filter yang ditentukan.
Informasi ini disediakan sebagai JSON ke permintaan Dialogflow. Format JSON bergantung pada jenis kontrol penelusuran.
Kontrol peningkatan
Konfigurasi penelusuran berikut menjelaskan kontrol boost:
"searchConfig": {
"boostSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"spec": [
{
"conditionBoostSpecs": {
"condition": "CONDITION",
"boost": "1.0"
}
}
]
}
]
}
Kontrol filter
Konfigurasi penelusuran berikut menjelaskan kontrol filter:
"searchConfig": {
"filterSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"filter": "CONDITION"
}
]
}
Menyiapkan konfigurasi penelusuran dengan Dialogflow API
Anda dapat memberikan data ini ke Dialogflow saat mengirim permintaan intent deteksi. Informasi ini harus diberikan dalam setiap permintaan intent deteksi, karena tidak dipertahankan dalam sesi.
Berikan informasi ini di kolom queryParams.searchConfig
dalam metode Sessions.detectIntent
.
Pilih protokol dan versi untuk Referensi sesi:
Protokol | V3 | V3beta1 |
---|---|---|
REST | Referensi sesi | Referensi sesi |
RPC | Antarmuka sesi | Antarmuka sesi |
C++ | SessionsClient | Tidak tersedia |
C# | SessionsClient | Tidak tersedia |
Go | SessionsClient | Tidak tersedia |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Tidak tersedia | Tidak tersedia |
Python | SessionsClient | SessionsClient |
Ruby | Tidak tersedia | Tidak tersedia |
Menyiapkan konfigurasi penelusuran dengan Dialogflow Messenger
Anda dapat memberikan data ini ke integrasi Dialogflow Messenger.
Untuk menerapkan kontrol penelusuran, cuplikan berikut harus ditambahkan ke kode messenger DF saat menyematkannya ke situs:
<script>
document.addEventListener('df-messenger-loaded', () => {
const dfMessenger = document.querySelector('df-messenger');
const searchConfig = { ... }
dfMessenger.setQueryParameters(searchConfig);
});
</script>
Lihat metode setQueryParameters.