Scene

Scene adalah unit dasar dari alur kontrol saat mendesain percakapan. Mereka dapat dirantai bersama dengan scene lain, menghasilkan prompt untuk pengguna akhir, dan menentukan slot. Nama scene ditentukan dalam nama file.

Representasi YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Kolom
onEnter

object (EventHandler)

Pengendali yang akan dipanggil saat bertransisi ke scene ini.

intentEvents[]

object (IntentEvent)

Daftar peristiwa yang dipicu berdasarkan intent. Peristiwa ini dapat dipicu kapan saja setelah Pengendali on_load dipanggil. Penting - peristiwa ini menentukan kumpulan intent yang dicakupkan ke scene ini dan akan lebih diutamakan daripada peristiwa yang didefinisikan secara global yang memiliki intent yang sama atau frasa pemicunya. Nama intent harus unik dalam scene.

conditionalEvents[]

object (ConditionalEvent)

Daftar peristiwa yang akan dipicu berdasarkan pernyataan kondisional. Ini dievaluasi setelah formulir diisi atau segera setelah on_load jika scene ini tidak memiliki formulir (evaluasi hanya dilakukan sekali). Hanya peristiwa pertama yang cocok yang akan dipicu.

slots[]

object (Slot)

Daftar slot yang diurutkan. Setiap slot menentukan jenis data yang akan diselesaikan dan konfigurasinya untuk menyesuaikan pengalaman resolusi ini (misalnya perintah).

onSlotUpdated

object (EventHandler)

Pengendali dipanggil saat ada perubahan status slot yang tidak disebabkan oleh update dalam Pengendali lain. Hal ini memungkinkan slot menjadi tidak valid, scene menjadi tidak valid, atau perubahan lain pada status scene.

Slot

Konfigurasi untuk slot. Slot adalah unit tunggal data yang dapat diisi melalui bahasa alami (yaitu parameter intent), parameter sesi, dan sumber lainnya.

Representasi YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Kolom
name

string

Wajib. Nama slot.

type

object (ClassReference)

Wajib. Mendeklarasikan jenis data slot ini.

required

boolean

Opsional. Menunjukkan apakah slot harus diisi sebelum melanjutkan. Slot wajib yang tidak diisi akan memicu dialog yang dapat disesuaikan kepada pengguna.

promptSettings

object (PromptSettings)

Opsional. Mendaftarkan Permintaan untuk berbagai tahap pengisian slot.

commitBehavior

object (CommitBehavior)

Opsional. Perilaku commit yang terkait dengan slot.

config

value (Value format)

Opsional. Konfigurasi tambahan terkait dengan slot yang digunakan untuk mengisi slot. Format konfigurasi bersifat khusus untuk jenis slot. Referensi resource ke parameter sesi atau pengguna dapat ditambahkan ke konfigurasi ini. Konfigurasi ini diperlukan untuk mengisi slot yang terkait dengan transaksi dan engagement pengguna.

Contoh: Untuk slot jenis actions.type.CompletePurchaseValue, konfigurasi berikut mengusulkan urutan produk digital dengan referensi ke parameter sesi yang ditentukan klien userSelectedSkuId:

{ "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } }

defaultValue

object (DefaultValue)

Opsional. Konfigurasi untuk mengisi nilai default untuk slot ini.

PromptSettings

Satu tempat di mana perintah slot ditentukan.

Representasi YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Kolom
initialPrompt

object (EventHandler)

Minta nilai slot itu sendiri. Contoh: "Berapa ukuran yang Anda inginkan?"

noMatchPrompt1

object (EventHandler)

Perintah untuk diberikan saat input pengguna tidak cocok dengan jenis nilai yang diharapkan untuk slot untuk pertama kalinya. Contoh: "Maaf, saya tidak mengerti".

noMatchPrompt2

object (EventHandler)

Perintah untuk diberikan saat input pengguna tidak cocok dengan jenis nilai yang diharapkan untuk slot untuk kedua kalinya. Contoh: "Maaf, saya tidak mengerti".

noMatchFinalPrompt

object (EventHandler)

Perintah untuk diberikan saat input pengguna tidak cocok dengan jenis nilai yang diharapkan untuk slot untuk terakhir kalinya. Contoh: "Maaf, saya tidak mengerti".

noInputPrompt1

object (EventHandler)

Perintah untuk memberi saat pengguna tidak memberikan input untuk pertama kalinya. Contoh: "Maaf, saya tidak mengerti".

noInputPrompt2

object (EventHandler)

Perintah untuk memberi saat pengguna tidak memberikan input untuk kedua kalinya. Contoh: "Maaf, saya tidak mengerti".

noInputFinalPrompt

object (EventHandler)

Perintah untuk memberi izin saat pengguna tidak memberikan input untuk terakhir kalinya. Contoh: "Maaf, saya tidak mengerti".

CommitBehavior

Pesan yang menjelaskan perilaku commit yang terkait dengan slot setelah berhasil diisi.

Representasi YAML
writeSessionParam: string
Kolom
writeSessionParam

string

Parameter sesi yang akan menulis nilai slot setelah diisi. Perhatikan bahwa jalur bertingkat saat ini tidak didukung. "$$" digunakan untuk menulis nilai slot ke parameter sesi yang memiliki nama yang sama dengan slot. Misalnya: writeSessionParam = "fruit" sesuai dengan "$session.params.fruit". writeSessionParam = "ticket" sesuai dengan "$session.params.ticket".

DefaultValue

Konfigurasi untuk mengisi nilai default untuk slot ini.

Representasi YAML
sessionParam: string
constant: value
Kolom
sessionParam

string

Opsional. Parameter sesi yang akan digunakan untuk melakukan inisialisasi nilai slot, jika memiliki nilai yang tidak kosong. Jenis nilai harus cocok dengan jenis slot. Perhatikan bahwa jalur bertingkat saat ini tidak didukung. Misalnya: sessionParam = "fruit" sesuai dengan $session.params.fruit. sessionParam = "ticket" sesuai dengan $session.params.ticket.

constant

value (Value format)

Opsional. Nilai default konstan untuk slot. Ini hanya akan digunakan jika nilai untuk slot ini tidak diisi melalui sessionParam. Jenis untuk nilai ini harus cocok dengan jenis slot.