A cena é a unidade básica do fluxo de controle ao projetar uma conversa. Eles podem ser encadeados com outras cenas, gerar prompts para o usuário final e definir slots. O nome da cena é especificado no nome do arquivo.
Representação YAML | |
---|---|
onEnter: object ( |
Campos | |
---|---|
onEnter |
Gerenciador para invocar durante a transição para esta cena. |
intentEvents[] |
A lista de eventos acionados com base em intents. Esses eventos podem ser acionados a qualquer momento após a chamada do Manipulador on_load. Importante: esses eventos definem o conjunto de intents com escopo definido no cenário e terão precedência sobre qualquer evento definido globalmente que tenha as mesmas intents ou frases de acionamento. Os nomes das intents precisam ser exclusivos em um cenário. |
conditionalEvents[] |
A lista de eventos que serão acionados com base em instruções condicionais. Eles são avaliados após o preenchimento do formulário ou imediatamente após on_load se esse cenário não tiver um formulário (a avaliação é feita apenas uma vez). Somente o primeiro evento correspondente será acionado. |
slots[] |
Lista ordenada de espaços. Cada slot define o tipo de dados que será resolvido e a configuração para personalizar a experiência dessa resolução (por exemplo, prompts). |
onSlotUpdated |
Handler chamado quando há uma mudança no estado de um slot que não foi causada por atualizações em outro gerenciador. Isso permite que os slots sejam invalidados, a cena seja invalidada ou outras mudanças no estado da cena. |
Slot
Configuração para um slot. Os slots são unidades únicas de dados que podem ser preenchidas por linguagem natural (por exemplo, parâmetros de intent), parâmetros de sessão e outras fontes.
Representação YAML | |
---|---|
name: string type: object ( |
Campos | |
---|---|
name |
Obrigatório. Nome do espaço. |
type |
Obrigatório. Declara o tipo de dados deste slot. |
required |
Opcional. Indica se o espaço precisa ser preenchido antes de avançar. Quando os espaços obrigatórios não preenchidos, o usuário recebe uma solicitação personalizável. |
promptSettings |
Opcional. Registra as solicitações para diferentes estágios de preenchimento de slots. |
commitBehavior |
Opcional. Comportamento de confirmação associado ao slot. |
config |
Opcional. Configuração adicional associada ao slot que é usado para preenchê-lo. O formato da configuração é específico ao tipo de slot. As referências de recursos ao parâmetro do usuário ou da sessão podem ser adicionadas a esta configuração. Essa configuração é necessária para preencher slots relacionados a transações e engajamento do usuário. Exemplo: para um slot do tipo actions.type.CompletePurchaseValue, a configuração a seguir propõe um pedido de mercadoria digital com referência a um parâmetro de sessão { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
Opcional. Configuração para preencher um valor padrão do slot. |
PromptSettings
Um único local para definição de prompts de slot.
Representação YAML | |
---|---|
initialPrompt: object ( |
Campos | |
---|---|
initialPrompt |
Solicite o valor do slot em si. Exemplo: "Que tamanho você quer?" |
noMatchPrompt1 |
Instrução exibida quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela primeira vez. Exemplo: "Não entendi." |
noMatchPrompt2 |
Instrução para enviar quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela segunda vez. Exemplo: "Não entendi." |
noMatchFinalPrompt |
Instrução para enviar quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela última vez. Exemplo: "Não entendi." |
noInputPrompt1 |
Instrução para enviar quando o usuário não fornecer uma entrada pela primeira vez. Exemplo: "Não entendi." |
noInputPrompt2 |
Instrução para enviar quando o usuário não fornecer uma entrada pela segunda vez. Exemplo: "Não entendi." |
noInputFinalPrompt |
Instrução para enviar quando o usuário não fornecer uma entrada pela última vez. Exemplo: "Não entendi." |
CommitBehavior
Mensagem que descreve o comportamento de confirmação associado ao slot após o preenchimento.
Representação YAML | |
---|---|
writeSessionParam: string |
Campos | |
---|---|
writeSessionParam |
O parâmetro da sessão para gravar o valor do slot após o preenchimento. No momento, não é possível usar caminhos aninhados. "$$" é usado para gravar o valor do slot em um parâmetro de sessão com o mesmo nome do slot. Por exemplo: writeSessionParam = "fruit" corresponde a "$session.params.fruit". writeSessionParam = "ticket" corresponde a "$session.params.ticket". |
DefaultValue
Configuração para preencher um valor padrão do slot.
Representação YAML | |
---|---|
sessionParam: string constant: value |
Campos | |
---|---|
sessionParam |
Opcional. O parâmetro de sessão a ser usado para inicializar o valor de slot, se ele tiver um valor não vazio. O tipo do valor precisa corresponder ao tipo do espaço. No momento, não é possível usar caminhos aninhados. Por exemplo: |
constant |
Opcional. Valor padrão constante do slot. Só será usado se um valor para esse slot não tiver sido preenchido por |