La scena è l'unità di base del flusso di controllo durante la progettazione di una conversazione. Possono essere concatenati ad altre scene, generare prompt per l'utente finale e definire slot. Il nome della scena è specificato nel nome del file.
Rappresentazione YAML | |
---|---|
onEnter: object ( |
Campi | |
---|---|
onEnter |
Gestore da richiamare durante il passaggio a questa scena. |
intentEvents[] |
L'elenco di eventi che si attivano in base agli intent. Questi eventi possono essere attivati in qualsiasi momento dopo la chiamata del gestore on_load. Importante: questi eventi definiscono l'insieme di intent che hanno come ambito questa scena e avranno la precedenza su qualsiasi evento definito a livello globale che abbia gli stessi intent o frasi di attivazione. I nomi degli intent devono essere univoci all'interno di una scena. |
conditionalEvents[] |
L'elenco di eventi da attivare in base alle istruzioni condizionali. Questi vengono valutati dopo che il modulo è stato compilato o immediatamente dopo on_load se la scena non ha un modulo (la valutazione viene eseguita una sola volta). Verrà attivato solo il primo evento corrispondente. |
slots[] |
Elenco ordinato di slot. Ogni slot definisce il tipo di dati che verranno risolti e la configurazione per personalizzare l'esperienza di questa risoluzione (ad es. prompt). |
onSlotUpdated |
Il gestore viene chiamato quando si verifica un cambiamento di stato di uno slot non causato da aggiornamenti all'interno di un altro gestore. Ciò consente l'annullamento della validità degli slot, dell'annullamento della validità della scena o di altre modifiche allo stato della scena. |
Slot
Configurazione per uno slot. Le slot sono singole unità di dati che possono essere riempite tramite linguaggio naturale (ovvero parametri di intent), parametri di sessione e altre origini.
Rappresentazione YAML | |
---|---|
name: string type: object ( |
Campi | |
---|---|
name |
Obbligatorio. Nome dell'area. |
type |
Obbligatorio. Dichiara il tipo di dati di questo slot. |
required |
(Facoltativo) Indica se lo spazio deve essere riempito prima di avanzare. Gli slot obbligatori non riempiti attiveranno un prompt personalizzabile per l'utente. |
promptSettings |
(Facoltativo) Registra i prompt per le diverse fasi di riempimento degli slot. |
commitBehavior |
(Facoltativo) Comportamento del commit associato all'area. |
config |
(Facoltativo) Configurazione aggiuntiva associata allo slot utilizzata per riempire lo slot. Il formato della configurazione è specifico per il tipo di area annuncio. A questa configurazione puoi aggiungere riferimenti delle risorse al parametro utente o di sessione. Questa configurazione è necessaria per riempire gli slot relativi alle transazioni e al coinvolgimento degli utenti. Esempio: per un'area di tipo actions.type.CompletePurchaseValue, la seguente configurazione propone un ordine per prodotti digitali con un riferimento a un parametro di sessione definito dal cliente { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } |
defaultValue |
(Facoltativo) Configurazione per compilare un valore predefinito per questa area annuncio. |
PromptSettings
Un unico posto in cui vengono definiti i prompt di slot.
Rappresentazione YAML | |
---|---|
initialPrompt: object ( |
Campi | |
---|---|
initialPrompt |
Richiede il valore dello slot stesso. Esempio: "Quale taglia volevi?" |
noMatchPrompt1 |
Prompt da fornire quando l'input dell'utente non corrisponde per la prima volta al tipo di valore previsto per lo slot. Esempio: "Non ho capito". |
noMatchPrompt2 |
Richiesta da fornire quando l'input dell'utente non corrisponde per la seconda volta al tipo di valore previsto per lo slot. Esempio: "Non ho capito". |
noMatchFinalPrompt |
Prompt da fornire quando l'input dell'utente non corrisponde al tipo di valore previsto per lo slot per l'ultima volta. Esempio: "Non ho capito". |
noInputPrompt1 |
Richiesta da fornire quando l'utente non fornisce un input per la prima volta. Esempio: "Non ho capito". |
noInputPrompt2 |
Richiesta da fornire quando l'utente non fornisce un input per la seconda volta. Esempio: "Non ho capito". |
noInputFinalPrompt |
Prompt da mostrare quando l'utente non fornisce un input per l'ultima volta. Esempio: "Non ho capito". |
CommitBehavior
Messaggio che descrive il comportamento di commit associato allo slot dopo che è stato riempito correttamente.
Rappresentazione YAML | |
---|---|
writeSessionParam: string |
Campi | |
---|---|
writeSessionParam |
Il parametro di sessione per scrivere il valore dello slot dopo averlo riempito. Tieni presente che i percorsi nidificati non sono attualmente supportati. "$$" viene utilizzato per scrivere il valore slot in un parametro di sessione con lo stesso nome dello slot. Ad esempio: writeSessionParam = "fruit" corrisponde a "$session.params.fruit". writeSessionParam = "ticket" corrisponde a "$session.params.ticket". |
DefaultValue
Configurazione per compilare un valore predefinito per questa area annuncio.
Rappresentazione YAML | |
---|---|
sessionParam: string constant: value |
Campi | |
---|---|
sessionParam |
(Facoltativo) Il parametro di sessione da utilizzare per inizializzare il valore slot, se ha un valore non vuoto. Il tipo del valore deve corrispondere al tipo di area. Tieni presente che i percorsi nidificati non sono attualmente supportati. Ad esempio: |
constant |
(Facoltativo) Valore predefinito costante per l'area. Verrà utilizzato solo se un valore per questa area non è stato compilato tramite |