Menentukan, mereferensikan, menetapkan, dan mendapatkan parameter
Ada empat cara umum penggunaan parameter:
- Menentukan pada waktu desain: Selama waktu desain, Anda menggunakan konsol atau API untuk menentukan parameter. Misalnya, Anda dapat menentukan parameter intent dan menggunakannya dalam frasa pelatihan untuk menunjukkan input pengguna akhir yang harus diekstrak.
- Referensi pada waktu desain: Referensi parameter adalah variabel yang menyimpan parameter value yang akan diekstrak saat runtime. Selama waktu desain, Anda menggunakan konsol atau API untuk mereferensikan parameter dalam berbagai jenis data. Misalnya, Anda dapat mereferensikan parameter sesi dalam respons fulfillment statis untuk rute.
- Ditetapkan saat runtime: Saat runtime, layanan Dialogflow CX, layanan Anda yang memanggil API, dan layanan webhook Anda dapat menetapkan nilai parameter. Misalnya, layanan Dialogflow CX menetapkan nilai parameter intent saat input pengguna akhir cocok dengan intent, dan input tersebut berisi data parameter.
- Mendapatkan saat runtime: Saat runtime, referensi parameter Anda berisi parameter value yang telah ditetapkan, dan Anda dapat menggunakan API atau webhook untuk mendapatkan parameter value. Misalnya, saat intent dicocokkan dan webhook Anda dipanggil, layanan webhook Anda akan menerima nilai parameter untuk intent tersebut.
Penamaan parameter
Aturan berikut berlaku untuk penamaan parameter:
- Gunakan karakter berikut:
[A-Z],[a-z],[0-9],.,-,_ - Nama parameter tidak peka huruf besar/kecil, sehingga Dialogflow CX memperlakukan
Appledanapplesebagai parameter yang sama. Kode klien webhook dan API juga harus memperlakukan nama parameter sebagai tidak peka huruf besar/kecil, karena tidak ada jaminan huruf besar/kecil untuk nama parameter yang ditampilkan oleh Dialogflow CX. - Saat Anda membuat parameter dengan ID atau nama tampilan yang sama dalam intent atau formulir yang berbeda, pastikan jenis entity dan setelan lainnya sama untuk semua definisi. Jika jenis entitas atau setelan parameter lainnya berbeda, gunakan ID parameter atau nama tampilan yang unik untuk setiap definisi.
Jenis parameter value
Parameter value mendukung beberapa jenis nilai. Bagian sesi berikut menjelaskan cara mereferensikan setiap jenis nilai parameter. Berikut adalah jenis-jenis yang didukung:
| Jenis | Deskripsi |
|---|---|
| Skalar | Nilai numerik atau string tunggal. |
| Gabungan | Objek JSON yang diisi dengan mencocokkan entitas gabungan, atau dengan mengisi parameter intent, yang berisi kolom original dan resolved. |
| Daftar | Daftar nilai skalar atau gabungan yang diisi untuk parameter yang dikonfigurasi sebagai daftar. Lihat opsi Is List berikut. |
Nilai null dan string kosong parameter
Anda dapat menetapkan nilai parameter string ke "",
yang menetapkan parameter ke string kosong.
Anda dapat menetapkan nilai parameter apa pun ke null,
yang menunjukkan bahwa parameter belum ditetapkan.
Nilai asli parameter
Saat teks dicocokkan dengan entity tertentu pada runtime, teks tersebut sering kali di-resolve ke nilai yang lebih mudah untuk diproses. Misalnya, kata "apel" dalam input pengguna akhir dapat di-resolve sebagai "apel" untuk entity buah.
Semua jenis nilai untuk referensi parameter intent dapat merujuk ke nilai asli atau nilai yang di-resolve.
Hanya jenis nilai gabungan untuk referensi parameter sesi yang dapat mereferensikan nilai asli.
Parameter intent
Intent menggunakan parameter untuk mengekstrak data yang diberikan oleh pengguna akhir saat intent dicocokkan. Data berikut digunakan untuk menentukan parameter intent:
- Nama (juga dikenal sebagai ID atau Nama Tampilan): Nama yang mengidentifikasi parameter.
- Jenis Entity: Jenis entity yang terkait dengan parameter.
- Is List: Jika benar, parameter akan diperlakukan sebagai daftar nilai.
- Redact in log: Jika benar, data parameter yang diberikan pengguna akhir akan disamarkan.
Menentukan parameter intent
Parameter intent ditentukan pada waktu desain saat membuat data intent atau saat memberi anotasi pada frasa pelatihan.
Parameter intent referensi
Referensi parameter intent dapat digunakan dalam pesan respons fulfillment statis rute intent.
Anda dapat mereferensikan nilai asli atau nilai yang di-resolve.
Untuk mereferensikan parameter untuk intent yang cocok saat ini, gunakan salah satu format berikut:
$intent.params.parameter-id.original $intent.params.parameter-id.resolved
Misalnya,
jika ID parameter adalah date,
Anda dapat mereferensikan nilai yang di-resolve sebagai $intent.params.date.resolved.
Menetapkan parameter intent
Saat input pengguna akhir cocok dengan intent saat runtime, parameter apa pun yang digunakan oleh anotasi untuk frasa pelatihan terkait akan ditetapkan oleh Dialogflow CX.
Fulfillment untuk rute intent dapat menggunakan preset parameter fulfillment untuk menetapkan nilai parameter intent saat runtime.
Mendapatkan parameter intent
Selama giliran percakapan saat intent dicocokkan, kode Anda dapat mengakses nilai parameter intent.
Interaksi dengan API akan menampilkan parameter value intent.
Lihat kolom respons queryResult.parameters metode detectIntent
untuk jenis Session.
Pilih protokol dan versi untuk Referensi sesi:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource sesi | Resource 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 |
Webhook menerima parameter value intent.
Lihat kolom intentInfo.parameters dalam
Permintaan webhook.
Parameter formulir
Untuk setiap halaman, Anda dapat menentukan formulir, yang merupakan daftar parameter yang harus dikumpulkan dari pengguna akhir untuk halaman tersebut. Agen berinteraksi dengan pengguna akhir selama beberapa giliran percakapan, hingga agen mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Agen mengumpulkan parameter ini dalam urutan yang ditentukan di halaman. Untuk setiap parameter formulir yang diperlukan, Anda juga memberikan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.
Misalnya, Anda dapat membuat formulir
yang mengumpulkan nama dan nomor telepon
pengguna akhir untuk halaman Collect Customer Info.
Data berikut digunakan untuk menentukan parameter formulir:
| Nama opsi konsol | Rantai kolom API | Deskripsi |
|---|---|---|
| Nama tampilan | Page.form.parameters[].displayName |
Nama yang mengidentifikasi parameter. |
| Jenis entitas | Page.form.parameters[].entityType |
Jenis entity yang terkait dengan parameter. |
| Wajib | Page.form.parameters[].required |
Menunjukkan apakah parameter wajib diisi. Parameter yang diperlukan harus diisi sebelum pengisian formulir selesai, dan agen akan meminta nilai kepada pengguna akhir. Lihat bagian Menetapkan parameter formulir berikut untuk mengetahui detailnya. |
| Nilai Default (hanya terlihat jika Wajib tidak dicentang) | Page.form.parameters[].defaultValue |
Nilai default parameter opsional. Lihat bagian Menetapkan parameter formulir berikut untuk mengetahui detailnya. |
| Is list | Page.form.parameters[].isList |
Jika benar, parameter akan diperlakukan sebagai daftar nilai. |
| Menyamarkan di log | Page.form.parameters[].redact |
Jika benar, data parameter yang diberikan pengguna akhir akan disamarkan. |
| Pemenuhan perintah awal | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Perintah awal dalam bentuk fulfillment untuk meminta parameter value yang diperlukan dari pengguna akhir. Lihat bagian Menetapkan parameter formulir berikut untuk mengetahui detailnya. |
| Pengendali peristiwa reprompt | Page.form.parameters[].fillBehavior.repromptEventHandlers |
Parameter ini digunakan saat agen perlu melakukan reprompt kepada pengguna akhir untuk mengisi parameter setelah upaya yang gagal. Lihat Pengendali reprompt pengisian formulir. Jika tidak ada pengendali peristiwa reprompt yang ditentukan, agen akan melakukan reprompt dengan perintah awal setelah upaya yang gagal. |
| DTMF | Tidak tersedia | Lihat bagian DTMF berikut. |
Menentukan dan mengelola parameter formulir
Parameter formulir ditentukan pada waktu desain saat membuat halaman.
Untuk mengubah urutan parameter formulir dengan konsol, klik judul bagian Parameters di halaman, lalu tarik baris parameter di tabel parameter.
Untuk menghapus parameter formulir, klik judul bagian Parameters di halaman, arahkan kursor ke parameter, lalu klik tombol hapus delete.
Parameter formulir referensi
Referensi parameter formulir tidak digunakan secara langsung. Anda hanya dapat memeriksa status pengisian parameter formulir satu per satu atau formulir secara keseluruhan. Anda dapat menggunakan referensi status formulir ini dalam persyaratan kondisi dari rute kondisi.
Untuk memeriksa apakah formulir lengkap halaman saat ini sudah diisi, gunakan kondisi berikut:
$page.params.status = "FINAL"
Untuk memeriksa apakah parameter formulir tertentu diisi pada giliran terakhir, gunakan kondisi berikut:
$page.params.parameter-id.status = "UPDATED"
Menetapkan parameter formulir
Nilai parameter formulir dapat ditetapkan dengan berbagai cara. Subbagian berikut menjelaskan setiap mekanisme untuk menetapkan nilai parameter formulir.
Parameter value default
Anda dapat memberikan nilai default untuk parameter formulir opsional. Saat pengisian formulir dimulai, semua parameter formulir opsional yang tidak ditetapkan akan ditetapkan ke nilai defaultnya. Nilai ini dapat diinisialisasi atau diganti oleh beberapa mekanisme berikut.
Jika parameter wajib diisi, nilai defaultnya akan diabaikan.
Pengisian formulir
Dialogflow CX otomatis menetapkan parameter value yang diberikan oleh pengguna akhir selama pengisian formulir. Agen mengumpulkan parameter yang diperlukan dalam urutan yang ditentukan di halaman. Agen akan meminta nilai yang diperlukan kepada pengguna akhir menggunakan fulfillment perintah awal yang Anda berikan untuk setiap parameter yang diperlukan. Parameter opsional tidak akan memicu perintah.
Jika parameter value yang diperlukan tidak diberikan oleh pengguna akhir setelah perintah agen, perintah awal akan diulang kecuali jika perilaku yang berbeda ditentukan dalam pengendali reprompt. Jika ada beberapa perintah teks awal yang ditentukan, perilaku agen akan sama dengan perilaku untuk respons teks fulfillment mana pun.
Penyebaran parameter intent dan sesi
Jika parameter jenis apa pun ditetapkan saat runtime, parameter tersebut akan ditulis ke sesi dan menjadi parameter sesi.
Saat halaman pertama kali aktif, dan selama periode aktifnya, parameter formulir apa pun dengan nama yang sama dengan parameter sesi akan otomatis ditetapkan ke nilai parameter sesi.
Hal ini dapat terjadi dengan parameter intent yang cocok dalam rute intent atau penerusan parameter.
Penyebaran parameter intent dan sesi adalah satu-satunya mekanisme untuk menetapkan parameter formulir opsional ke nilai dari input pengguna akhir, tetapi mekanisme ini juga dapat menetapkan atau mengganti nilai parameter formulir yang diperlukan.
Preset parameter fulfillment
Respons untuk rute, pengendali peristiwa, atau reprompt formulir dapat menggunakan preset parameter fulfillment untuk menetapkan nilai parameter formulir saat runtime. Preset parameter fulfillment akan mengganti nilai parameter, termasuk nilai default parameter.
Setelan parameter webhook
Webhook Anda dapat menetapkan nilai parameter formulir saat runtime.
Lihat kolom pageInfo.formInfo.parameterInfo di
Respons webhook.
Mendapatkan parameter formulir
Interaksi dengan API akan menampilkan nilai parameter formulir.
Lihat kolom respons queryResult.parameters metode detectIntent
untuk jenis Session.
Pilih protokol dan versi untuk Referensi sesi:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource sesi | Resource 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 |
Webhook menerima nilai parameter formulir.
Lihat kolom pageInfo.formInfo.parameterInfo dalam
Permintaan webhook.
Pengendali reprompt pengisian formulir
Pengendali reprompt, yang juga dikenal sebagai pengendali peristiwa tingkat parameter, digunakan untuk menentukan perilaku perintah parameter yang kompleks untuk parameter yang diperlukan. Misalnya, pengendali reprompt dapat digunakan untuk mengubah perintah saat pengguna akhir gagal memberikan nilai setelah perintah awal, dan untuk beralih ke halaman lain setelah N upaya gagal.
Jika tidak ada pengendali reprompt yang ditentukan, perintah awal akan digunakan untuk melakukan reprompt kepada pengguna akhir sesuai kebutuhan.
Jika pengguna akhir merespons dengan input yang tidak terduga,
peristiwa sys.no-match-* atau sys.no-input-* akan dipanggil,
dan pengendali reprompt yang ditentukan untuk peristiwa ini akan dipanggil.
Seperti pengendali peristiwa lainnya, pengendali reprompt adalah jenis pengendali status yang dapat dikonfigurasi dengan salah satu atau kedua hal berikut:
- Fulfillment untuk memberikan pesan reprompt pengguna akhir dan preset parameter.
- Target transisi untuk mengubah halaman saat ini.
Parameter sesi
Jika parameter jenis apa pun ditetapkan saat runtime, parameter tersebut akan ditulis ke sesi dan menjadi parameter sesi. Parameter ini tidak ditentukan secara eksplisit pada waktu desain. Anda dapat mereferensikan parameter sesi ini kapan saja selama sesi.
Parameter sesi referensi
Referensi parameter sesi dapat digunakan dalam pesan respons statis untuk jenis fulfillment berikut:
- Fulfillment entri halaman
- Pemenuhan rute
- Fulfillment pengendali peristiwa
- Pemenuhan perintah formulir
- Pemenuhan reprompt formulir
Referensi juga dapat digunakan di:
- Nilai header webhook untuk autentikasi.
- Permintaan webhook yang fleksibel, untuk mengirim parameter value ke webhook.
Untuk mereferensikan parameter sesi, gunakan format berikut:
Skalar
Untuk mengakses parameter dengan jenis entity skalar:
$session.params.parameter-id
Misalnya,
jika ID parameter adalah date,
Anda dapat mereferensikan nilainya sebagai $session.params.date.
Gabungan
Untuk mengakses anggota parameter dengan jenis entity gabungan:
$session.params.parameter-id.member-name
Misalnya, jika ID parameter adalah
location, Anda dapat mereferensikan nilai anggotazip-codesebagai$session.params.location.zip-code.Untuk mengakses nilai asli parameter dengan jenis entity gabungan:
$session.params.parameter-id.original
Untuk mengakses objek lengkap parameter dengan jenis entity gabungan, gunakan fungsi sistem IDENTITY.
Daftar
Untuk mengakses daftar lengkap elemen:
$session.params.parameter-id
Misalnya, jika ID parameter daftar adalah
colorsdan nilai yang diekstrak dari kueri pengguna adalah["red", "blue", "yellow"], Anda dapat mereferensikan semua nilai sebagai$session.params.colors.Untuk mengakses elemen ke-i dari parameter daftar:
$session.params.parameter-id[i]
Misalnya, jika ID parameter daftar adalah
colors, Anda dapat mereferensikan nilai pertama sebagai$session.params.colors[0].
Menetapkan parameter sesi
Setelah pengisian formulir selesai, parameter yang diisi akan ditulis ke sesi oleh Dialogflow CX.
Fulfillment untuk rute, pengendali peristiwa, atau reprompt formulir dapat menggunakan preset parameter fulfillment untuk menetapkan nilai parameter sesi saat runtime.
Webhook Anda dapat menetapkan nilai parameter sesi saat runtime.
Lihat kolom sessionInfo.parameters dalam
respons webhook standar
atau lihat
respons webhook fleksibel.
Interaksi dengan API dapat menetapkan nilai parameter sesi.
Lihat kolom permintaan queryParams.parameters metode detectIntent untuk jenis Session.
Pilih protokol dan versi untuk Referensi sesi:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource sesi | Resource 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 |
Mendapatkan parameter sesi
Interaksi dengan API akan menampilkan nilai parameter sesi.
Lihat kolom respons queryResult.parameters metode detectIntent
untuk jenis Session.
Pilih protokol dan versi untuk Referensi sesi:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource sesi | Resource 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 |
Webhook menerima nilai parameter sesi.
Lihat kolom sessionInfo.parameters dalam
Permintaan webhook.
Menonaktifkan pengenalan ucapan untuk telepon
Di lingkungan yang bising, pengenalan ucapan dapat mentranskripsikan kebisingan latar belakang sebagai input pengguna akhir. Untuk integrasi telepon, transkrip palsu ini dapat memicu peristiwa tidak cocok atau memutus pengguna akhir yang memasukkan digit DTMF dengan keypad.
Untuk hanya menerima input DTMF, tetapkan parameter sesi telephony_disable_voice_processing ke true. Mulai dari giliran percakapan berikutnya, Dialogflow CX
mengabaikan input ucapan dan hanya memproses input DTMF. Setelan ini tetap berlaku
selama sisa sesi. Untuk mengaktifkan kembali pengenalan ucapan, tetapkan
parameter ke false.
Sebaiknya gunakan parameter ini sebagai penggantian, bukan di awal
percakapan. Misalnya, setelah pengguna akhir memicu dua peristiwa no-match
atau no-input berturut-turut, gunakan
preset parameter fulfillment
untuk menetapkan parameter ke true, lalu minta pengguna akhir untuk menggunakan keypad.
Pastikan DTMF diaktifkan untuk parameter yang perlu diberikan oleh pengguna akhir.
Penyebaran parameter
Saat input pengguna akhir memberikan parameter value, parameter tersebut dapat disebarkan ke level lain:
- Jika parameter intent ditetapkan oleh pencocokan intent, parameter formulir dengan nama yang sama untuk halaman aktif akan ditetapkan ke nilai yang sama. Jenis entity parameter ditentukan oleh definisi parameter intent.
- Jika parameter intent ditetapkan oleh pencocokan intent, atau parameter formulir ditetapkan saat mengisi formulir, parameter tersebut akan menjadi parameter sesi.
DTMF untuk integrasi telepon
Anda dapat mengaktifkan dan mengonfigurasi DTMF (Dual-tone multi-frequency signaling) untuk parameter. Setelah diaktifkan, pengguna akhir untuk agen yang menggunakan integrasi telepon dapat menggunakan keypad telepon untuk memberikan parameter value.
Untuk mengurangi ambiguitas, input DTMF dapat ditafsirkan dalam bentuk normal dan khusus DTMF (direkomendasikan):
- Bentuk normal adalah nilai keypad seperti yang dimasukkan oleh pengguna akhir.
Misalnya,
123#. - Formulir khusus DTMF mengonversi input menjadi
dtmf_digits_[digits], dengan[digits]adalah digit DTMF asli dengan*diganti denganstardan#diganti denganpound. Misalnya,123#ditafsirkan sebagaidtmf_digits_123pound.
Saat mencocokkan jenis entity untuk parameter, Dialogflow CX akan mencoba mencocokkan bentuk normal dan bentuk khusus DTMF.
Jika jenis entity digunakan untuk input DTMF,
sebaiknya tentukan sinonim seperti dtmf_digits_123
untuk meningkatkan pencocokan NLU.
Jika input DTMF tidak memenuhi kondisi penghentian (belum mencapai panjang digit maksimum atau belum dihentikan oleh digit akhir), agen Dialogflow CX akan terus menunggu input lainnya. Selama periode ini, jika waktu tunggu tanpa ucapan dipicu, agen akan memanggil peristiwa tanpa input. Jika hanya ucapan yang terdeteksi, agen akan mencocokkan dengan input ucapan. Jika input ucapan dan DTMF terdeteksi, input ucapan akan dihapus dan hanya input DTMF yang akan dipertimbangkan.
Untuk mengaktifkan dan menyesuaikan DTMF untuk parameter:
Konsol
- Aktifkan Advanced settings dari setelan ucapan dan IVR agen jika Anda belum mengaktifkannya.
- Buat parameter halaman.
- Di panel parameter, aktifkan Enable DTMF.
- Tetapkan Max digits ke jumlah digit maksimum yang dapat diberikan pengguna akhir untuk parameter ini.
- Tetapkan Finish digit ke nilai keypad
yang akan menghentikan input DTMF untuk parameter.
Biasanya,
#digunakan untuk setelan ini. Digit akhir tidak ditambahkan ke kueri Dialogflow CX di agen, jadi jika digit akhir adalah # dan inputnya adalah 123#, input kueri yang sebenarnya akan menjadi '123'
Saat membangun agen, Anda dapat menguji input DTMF di simulator.
Parameter cakupan alur
Parameter cakupan alur dapat ditentukan sebagai preset parameter fulfillment atau parameter formulir. Parameter ini hanya dapat direferensikan saat alur yang menentukannya aktif, dan tidak dipertahankan ke dalam parameter sesi.
Untuk menentukan atau mereferensikan parameter cakupan alur, gunakan sintaksis berikut:
$flow.parameter-name
Misalnya,
jika nama parameternya adalah date,
Anda dapat menentukan atau mereferensikan parameter sebagai $flow.date.
Perhatikan bahwa penggunaan awalan $ saat menentukan parameter
berbeda dengan jenis parameter lain yang tidak menggunakan $
untuk definisi parameter.
Contoh definisi parameter cakupan alur:

Masa aktif parameter value cakupan alur
Meskipun jarang terjadi, dalam kasus lanjutan tertentu, Anda mungkin perlu memahami cara nilai parameter cakupan alur dipertahankan (atau dihapus) saat alur menjadi tidak aktif, lalu aktif kembali.
Apakah parameter value cakupan flow dipertahankan saat flow menjadi tidak aktif, lalu aktif lagi bergantung pada stack flow dan instance flow di stack.
- Saat flow A bertransisi ke flow B menggunakan target transisi tertentu, flow A (flow induk) tetap berada di stack, flow A mempertahankan parameter value cakupan flow-nya, dan instance baru flow B (flow turunan) ditambahkan ke stack.
- Saat flow turunan bertransisi kembali ke flow induk menggunakan target transisi simbolis (misalnya, END_FLOW), flow turunan akan dihapus dari stack, semua nilai parameter cakupan flow turunan akan dihapus, dan semua nilai parameter cakupan flow induk akan dipertahankan.
- Dengan menggunakan serangkaian transisi dengan target transisi tertentu, stack alur dapat berisi beberapa instance dari satu jenis alur. Setiap instance jenis alur memiliki nilai parameter cakupan alur yang unik. Misalnya: A1 -> B1 -> C1 -> B2, dengan A, B, dan C adalah jenis alur, dan angka menunjukkan instance dari jenis alur tersebut. Dalam contoh ini, B1 dan B2 adalah instance yang berbeda dari alur B, dan memiliki parameter unik yang tercakup dalam alur.
Contoh:
| Transisi | Hasil |
|---|---|
| Alur A (A1) menjadi aktif. Alur B (B1) menjadi aktif menggunakan target transisi tertentu. Flow B bertransisi kembali ke flow A (A1) yang memulainya menggunakan target transisi simbolis. |
Alur A mempertahankan parameter value. |
| Alur A (A1) menjadi aktif. Alur B (B1) menjadi aktif menggunakan target transisi tertentu. Alur B bertransisi ke instance baru alur A (A2) menggunakan target transisi tertentu. |
Instance baru alur A (A2) di bagian atas stack tidak memiliki akses ke nilai parameter alur A (A1) di bagian bawah stack. |
| Alur A (A1) menjadi aktif. Alur B (B1) menjadi aktif menggunakan target transisi tertentu. Alur A (A1) menjadi aktif menggunakan target transisi simbolis. Alur B (B2) menjadi aktif menggunakan target transisi tertentu. |
Alur B (B2) tidak mempertahankan nilai parameter yang ditetapkan saat aktif setelah transisi kedua (B1). |
Parameter cakupan permintaan
Parameter cakupan permintaan adalah parameter berumur pendek yang dibuat oleh Dialogflow CX yang hanya dapat direferensikan selama siklus proses permintaan saat ini, dan tidak dipertahankan ke dalam parameter sesi.
Parameter cakupan permintaan dibuat oleh Dialogflow CX untuk fitur berikut.
Parameter bawaan
Anda dapat mengakses berbagai data yang terkait dengan permintaan menggunakan:
| Referensi | Deskripsi |
|---|---|
| $request.agent-id | ID agen. |
| $request.session-id | ID sesi. |
| $request.project-id | ID project. |
| $request.location-id | ID lokasi agen. |
| $request.language | Kode bahasa yang ditentukan dalam QueryInput.language_code. |
| $request.resolved-language | Kode bahasa sebenarnya yang digunakan oleh agen selama pemrosesan. Bahasa yang ditetapkan dapat berbeda dari bahasa yang ditentukan dalam permintaan. Misalnya, jika agen hanya mendukung "en", sedangkan bahasa yang ditentukan dalam permintaan adalah "en-US", bahasa yang di-resolve adalah "en". |
| $request.user-utterance | Ucapan pengguna saat ini yang ditentukan dalam permintaan. |
| $request.last-agent-utterance | Ucapan terbaru yang dikirim oleh agen. |
| $request.nlu-confidence-score | Skor keyakinan klasifikasi NLU saat ini. |
| $request.end-user-metadata | Metadata pengguna akhir yang ditentukan dalam permintaan. |
| $request.webhook_status_code | Kode status HTTP panggilan webhook. |
Payload Kustom
Jika QueryParameters.payload ditetapkan, Anda dapat mengakses parameter yang sesuai menggunakan $request.payload.param-id.
Analisis Sentimen
Referensi sentimen berikut tersedia saat analisis sentimen diaktifkan:
| Referensi | Jenis | Deskripsi |
|---|---|---|
| $request.sentiment.score | Angka | Skor sentimen antara -1,0 (sentimen negatif) dan 1,0 (sentimen positif). |
| $request.sentiment.magnitude | Angka | Menunjukkan kekuatan emosi (positif dan negatif) secara keseluruhan antara 0,0 dan +inf. Tidak seperti skor, intensitas tidak dinormalisasi; setiap ekspresi emosi dalam input pengguna akhir (positif dan negatif) berkontribusi pada intensitas input. Input yang lebih panjang mungkin memiliki magnitude yang lebih besar. |
| $request.sentiment.succeeded | Boolean | Benar jika analisis sentimen berhasil, salah jika tidak. |
Penghapusan parameter
Untuk parameter intent atau formulir,
Anda dapat mengaktifkan penyuntingan parameter,
yang akan menyunting data parameter runtime pengguna akhir dari log
dan penyimpanan internal Dialogflow CX.
Parameter yang disamarkan ditampilkan sebagai $parameter-name_redacted dalam log.
Misalnya, pertimbangkan input pengguna akhir "Alamat saya adalah 1600 Amphitheatre Parkway" yang menghasilkan parameter alamat yang dikirim ke "1600 Amphitheatre Parkway". Teks yang dicatat ke dalam log akan menjadi "My address is $address_redacted".
Untuk mengaktifkan penyamaran parameter:
Konsol
Centang kotak Redact in log saat membuat atau memperbarui parameter.
API
Tetapkan kolom parameters[].redact ke true untuk jenis Intent.
Pilih protokol dan versi untuk referensi Intent:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource intent | Resource intent |
| RPC | Antarmuka intent | Antarmuka intent |
| C++ | IntentsClient | Tidak tersedia |
| C# | IntentsClient | Tidak tersedia |
| Go | IntentsClient | Tidak tersedia |
| Java | IntentsClient | IntentsClient |
| Node.js | IntentsClient | IntentsClient |
| PHP | Tidak tersedia | Tidak tersedia |
| Python | IntentsClient | IntentsClient |
| Ruby | Tidak tersedia | Tidak tersedia |
Tetapkan kolom form.parameters[].redact ke true untuk jenis Page.
Pilih protokol dan versi untuk Referensi halaman:
| Protokol | V3 | V3beta1 |
|---|---|---|
| REST | Resource halaman | Resource halaman |
| RPC | Antarmuka halaman | Antarmuka halaman |
| C++ | PagesClient | Tidak tersedia |
| C# | PagesClient | Tidak tersedia |
| Go | PagesClient | Tidak tersedia |
| Java | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | Tidak tersedia | Tidak tersedia |
| Python | PagesClient | PagesClient |
| Ruby | Tidak tersedia | Tidak tersedia |
Sebagai alternatif, Anda dapat menyunting semua parameter jenis entity tertentu.