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 gli slot. Il nome della scena è specificato nel nome del file.
Rappresentazione YAML | |
---|---|
onEnter: object ( |
Campi | |
---|---|
onEnter |
Gestore da richiamare durante la transizione 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 hanno la precedenza su qualsiasi evento definito a livello globale che abbia gli stessi intent o le relative frasi di attivazione. I nomi degli intent devono essere univoci all'interno di una scena. |
conditionalEvents[] |
L'elenco di eventi da attivare in base a istruzioni condizionali. Questi vengono valutati dopo che il modulo è stato compilato o subito dopo on_load se questa 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 risolverà 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 un'area annuncio non causato da aggiornamenti interni a un altro gestore. Ciò consente di invalidare gli slot, di invalidare la scena o di apportare altre modifiche allo stato della scena. |
Area
Configurazione di uno slot. Gli slot sono singole unità di dati che possono essere riempite mediante linguaggio naturale (ad es. parametri 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 |
Campo facoltativo. Indica se l'area annuncio deve essere riempita prima di avanzare. Gli slot obbligatori che non vengono riempiti attiveranno una richiesta personalizzabile per l'utente. |
promptSettings |
Campo facoltativo. Registra i prompt per diverse fasi di riempimento degli slot. |
commitBehavior |
Campo facoltativo. Comportamento di commit associato allo slot. |
config |
Campo facoltativo. Configurazione aggiuntiva associata allo slot utilizzato per il riempimento dello slot. Il formato della configurazione è specifico per il tipo di slot. I riferimenti delle risorse al parametro utente o sessione possono essere aggiunti a questa configurazione. Questa configurazione è necessaria per riempire gli slot relativi alle transazioni e al coinvolgimento degli utenti. Esempio: per uno slot di tipo actions.type.CompletePurchaseValue, la seguente configurazione propone un ordine di articoli digitali con un riferimento a un parametro di sessione definito dal client { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
Campo facoltativo. Configurazione per compilare un valore predefinito per questo slot. |
PromptSettings
Un unico posto in cui vengono definite le richieste di slot.
Rappresentazione YAML | |
---|---|
initialPrompt: object ( |
Campi | |
---|---|
initialPrompt |
Richiesta per il valore dell'area annuncio stesso. Esempio: "Che taglia volevi?" |
noMatchPrompt1 |
Richiesta di fornire quando l'input dell'utente non corrisponde al tipo di valore previsto per l'area per la prima volta. Esempio: "Non ho capito". |
noMatchPrompt2 |
Richiesta di indicare se l'input dell'utente non corrisponde al tipo di valore previsto per l'area per la seconda volta. Esempio: "Non ho capito". |
noMatchFinalPrompt |
Richiesta di indicare quando l'input dell'utente non corrisponde al tipo di valore previsto per l'area nell'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 |
Richiesta da fornire quando l'utente non fornisce un input per l'ultima volta. Esempio: "Non ho capito". |
CommitBehavior
Messaggio che descrive il comportamento del commit associato allo slot dopo che è stato compilato.
Rappresentazione YAML | |
---|---|
writeSessionParam: string |
Campi | |
---|---|
writeSessionParam |
Il parametro di sessione per scrivere il valore dell'area dopo che è stato compilato. Tieni presente che i percorsi nidificati non sono attualmente supportati. "$$" viene utilizzato per scrivere il valore dell'area in un parametro di sessione con lo stesso nome dell'area. Ad esempio, writeSessionParam = "fruit" corrisponde a "$session.params.fruit". writeSessionParam = "ticket" corrisponde a "$session.params.ticket". |
DefaultValue
Configurazione per compilare un valore predefinito per questo slot.
Rappresentazione YAML | |
---|---|
sessionParam: string constant: value |
Campi | |
---|---|
sessionParam |
Campo facoltativo. Il parametro di sessione da utilizzare per inizializzare il valore dello slot, se ha un valore non vuoto. Il tipo del valore deve corrispondere al tipo di area annuncio. Tieni presente che i percorsi nidificati non sono attualmente supportati. Ad esempio: |
constant |
Campo facoltativo. Valore predefinito costante per lo slot. Verrà utilizzato solo se un valore per questa area non è stato compilato tramite |