As Ações de conversação permitem que você estenda o Google Assistente com suas próprias interfaces de conversa que dão aos usuários acesso a seus produtos e serviços. As ações usam o mecanismo avançado de processamento de linguagem natural (PLN) do Google Assistente para processar e entender a entrada de linguagem natural e realizar tarefas com base nelas.
Visão geral
Uma ação de conversa é um objeto simples que define um ponto de entrada (chamado de chamada) em uma conversa:
- Uma invocação define como os usuários informam ao Google Assistente que querem iniciar uma conversa com uma das suas ações. A invocação de uma ação é definida por uma única intent que é correspondida quando os usuários solicitam a ação.
- Uma conversa define como os usuários interagem com uma ação depois que ela é invocada. Você cria conversas com intents, tipos, cenas e solicitações.
- Além disso, suas ações podem delegar trabalho extra ao fulfillment, que são serviços da Web que se comunicam com suas ações por meio de webhooks. Isso permite validar dados, chamar outros serviços da Web, executar a lógica de negócios e muito mais.
Agrupe uma ou várias ações em um contêiner lógico chamado projeto do Actions, com base nos casos de uso importantes para os usuários. O projeto do Actions contém todo o modelo de invocação (a coleção de todas as invocações), permitindo que os usuários comecem em locais lógicos no modelo de conversa (todas as coisas que os usuários podem dizer e todas as maneiras de responder aos usuários).
Invocação
A invocação está associada a um nome de exibição que representa uma marca, um nome ou um perfil que permite que os usuários peçam ao Google Assistente para invocar suas ações. Os usuários podem usar esse nome de exibição por conta própria (chamada de invocação principal) ou em combinação com frases opcionais de link direto para invocar suas ações.
Por exemplo, os usuários podem dizer as seguintes frases para invocar três ações separadas em um projeto com um nome de exibição "Fatos sobre o Google":
- "Ok Google, falar com fatos sobre o Google"
- "Ok Google, fale com fatos sobre o Google para conhecer fatos da empresa"
- "Ok Google, fale com fatos sobre o Google para conhecer fatos históricos"
A primeira invocação no exemplo é a invocação principal. Essa invocação está associada a uma intent especial do sistema chamada actions.intent.MAIN
. A segunda e a terceira invocações são invocações de link direto que permitem especificar frases adicionais que permitem aos usuários solicitar funcionalidades específicas. Essas invocações correspondem às intents de usuário designadas como globais. Cada invocação neste exemplo fornece um ponto de entrada em uma conversa e corresponde a uma única ação.
A Figura 2 descreve um fluxo de invocação principal:
- Quando os usuários solicitam uma ação, eles geralmente o solicitam pelo nome de exibição.
- O Google Assistente faz a correspondência entre a solicitação do usuário e a intent correspondente. Neste caso, seria
actions.intent.MAIN
. - A ação é notificada da correspondência de intent e responde com a solicitação correspondente para iniciar uma conversa com o usuário.
Conversa
A conversa define como os usuários interagem com uma ação depois que ela é invocada. Você cria essas interações definindo a entrada do usuário válida para sua conversa, a lógica para processar essa entrada e as solicitações correspondentes para responder ao usuário. A figura e a explicação a seguir mostram como uma rodada de conversa típica funciona com os componentes de baixo nível de uma conversa: intents, tipos, cenas e solicitações.
A Figura 3 descreve uma conversão de conversa típica:
- Quando os usuários dizem algo, a NLU do Assistente corresponde a entrada a uma intent adequada. Uma intent será associada se o modelo de idioma dessa intent puder corresponder de forma próxima ou exata à entrada do usuário. Você define o modelo de linguagem especificando frases de treinamento ou exemplos de coisas que os usuários podem dizer. O Assistente usa essas frases de treinamento e as expande para criar o modelo de linguagem da intent.
- Quando a NLU do Assistente corresponde a uma intent, ela pode extrair da entrada os parâmetros necessários. Esses parâmetros têm tipos associados a eles, como data ou número. Anote as partes específicas das frases de treinamento de uma intent para especificar quais parâmetros você quer extrair.
- Em seguida, uma cena processa a intent correspondente. Pense nas cenas como os executores lógicos de uma ação, fazendo a lógica pesada e realizando a lógica necessária para conduzir uma conversa. As cenas são executadas em loop, fornecendo um ciclo de vida de execução flexível que permite realizar ações como validar parâmetros de intent, preencher slots, enviar solicitações de volta ao usuário e muito mais.
- Quando uma cena termina de ser executada, ela geralmente envia uma solicitação para que os usuários continuem a conversa ou a encerra, se apropriado.
Atendimento dos pedidos
Durante a invocação ou uma conversa, sua ação pode acionar um webhook que notifica um serviço de fulfillment para realizar algumas tarefas.
A Figura 4 descreve como usar o fulfillment para gerar solicitações, uma maneira comum de usar o fulfillment:
- Em pontos específicos da execução da ação, ele pode acionar um webhook que envia uma solicitação para um gerenciador de webhook registrado (seu serviço de fulfillment) com um payload JSON.
- O fulfillment processa a solicitação, como chamar uma API REST para fazer uma pesquisa de dados ou validar alguns dados do payload JSON. Uma maneira muito comum de usar o fulfillment é gerar um prompt dinâmico no ambiente de execução para que suas conversas sejam mais personalizadas para o usuário atual.
- O fulfillment retorna uma resposta para sua ação que contém um payload JSON. Ele pode usar os dados do payload para continuar a execução e responder ao usuário.