Criar um agente de RBM com tecnologia do Dialogflow (versão básica)

Neste codelab, você aprenderá a usar o Dialogflow para criar uma interface de conversa para processar um agente do RBM sem escrever código.

O que você vai criar neste codelab?

  • Um agente do Dialogflow que alimenta a conversa com um agente do RBM
  • Uma interface de conversa para uma pizzaria fictícia que envia aos usuários uma oferta de desconto e permite que eles vejam o menu do restaurante.

O que você vai aprender

  • Como usar a construção principal do Dialogflow para criar uma interface de conversa.
  • Como criar tipos de resposta RBM do Dialogflow para criar uma experiência aprimorada de RBM para usuários

Pré-requisitos

  • Sua Conta do Google para a plataforma de RBM

Crie e consulte seu primeiro agente

Duração: 30h

Crie seu primeiro agente do Dialogflow

Para criar um agente do Dialogflow, siga estas etapas:

  1. Abra uma nova guia e faça login no Dialogflow.
  2. Clique em Criar agente na navegação à esquerda.

  3. Insira "CodelabRBMPizzaPlace" como o nome do seu agente, "inglês" como o idioma padrão e defina o fuso horário padrão como o seu fuso.

  4. Clique em Criar.

O console do Dialogflow

Você verá o console do Dialogflow. Se você estiver trabalhando em uma tela menor e a navegação à esquerda estiver oculta, clique no botão de navegação no canto superior esquerdo. O botão de configurações direciona você para as configurações atuais do agente.

O meio da página mostra uma lista de intents para o agente. Por padrão, os agentes do Dialogflow começam com duas intents. Seu agente corresponde à intent de fallback padrão quando não entende o que os usuários dizem. A intent de boas-vindas padrão cumprimenta seus usuários. É possível mudar essas intents para personalizar a experiência.

O simulador do Dialogflow fica à direita. Assim, você pode testar seu agente falando ou digitando mensagens.

Como consultar seu agente

Os agentes do Dialogflow são mais bem descritos como módulos de Processamento de linguagem natural (PLN). Elas podem ser incluídas no seu app, produto ou serviço para transformar solicitações naturais do usuário em dados acionáveis.

Agora é hora de testar o agente. No simulador à direita, clique no campo de texto Try it now, digite "Hi" e pressione Enter.

O Dialogflow identifica a consulta, corresponde à intent de boas-vindas padrão e responde com uma saudação genérica. Isso funciona porque o Dialogflow treina automaticamente a intent de boas-vindas padrão com algumas saudações de exemplo.

Criar um agente do RBM

Faça login no Console do desenvolvedor do Business Communications e clique em Criar agente.

No campo "Name", digite "quot;Your Name's Pizza Place" (como "Sean's Pizza Place"), selecione uma região e clique em Create Agent.

Conectar o agente do RBM ao Dialogflow

Após a criação do agente do RBM, clique no agente para ver a página Visão geral do agente. Clique no link Integrações na navegação à esquerda.

Por padrão, os agentes do RBM usam o Google Cloud Pub/Sub para gerenciar mensagens do usuário. Para conectar o agente do RBM ao agente do Dialogflow criado anteriormente, clique na integração do Dialogflow.

Na caixa de diálogo, clique em Conectar modelo existente. Siga as instruções para conceder ao agente do RBM permissões de chamar o agente do Dialogflow. Depois de concluir as instruções, clique em Próxima.

Por fim, você precisa fornecer o ID do projeto do Dialogflow. Em uma guia diferente do navegador do Console do desenvolvedor de comunicações comerciais, acesse o Dialogflow e abra o agente CodelabRBMPizzaPlace que você criou anteriormente. Clique no ícone de engrenagem próximo ao nome do projeto na navegação à esquerda.

Clique nesse link para acessar as configurações do modelo. Em GOOGLE PROJECT, encontre e copie o ID do projeto.

Volte para a guia com o Console do desenvolvedor do Business Communications aberto, cole o ID do projeto na caixa de diálogo e clique em Iniciar integração.

Esse processo leva cerca de dois minutos para ser concluído. Depois de concluído, você verá a opção de integração do Dialogflow destacada e um link Ver agente disponível.

Todas as mensagens de e para seu agente agora estão sendo gerenciadas pelo agente do Dialogflow do codelabRBMPizzaPlace.

Convide seu dispositivo de teste e envie uma mensagem

Antes de começar a usar o Dialogflow, vamos configurar o dispositivo de teste. Se você ainda não tem um dispositivo capaz de receber mensagens RBM, siga este guia para preparar o dispositivo.

No Console para desenvolvedores do Business Communications, clique em Devices na navegação à esquerda. No formulário, digite o número de telefone completo do seu dispositivo no formato E.164 (por exemplo, +12223334444) e clique em Adicionar.

No dispositivo, você recebe o convite para fazer o teste. Toque em Quero ser testador.

No navegador, encontre o dispositivo na lista Dispositivos e envie uma mensagem de teste. Se você recebeu uma mensagem do agente do RBM no seu dispositivo, está tudo pronto para continuar com este codelab.

Como criar uma intent de boas-vindas

Normalmente, com um agente RBM com tecnologia do Dialogflow, para iniciar uma conversa, você faz uma chamada de API que especifica o número de telefone do usuário e a intent do Dialogflow que inicia a conversa (geralmente a intent de boas-vindas do seu agente). Neste codelab, vamos pular esta etapa e usar a conversa que já criamos na etapa anterior com o dispositivo de teste do Business Console do Business Communications. Para ler mais sobre esse recurso da API, confira este guia.

Vamos começar adicionando respostas RBM ao Intent de boas-vindas padrão para que o Dialogflow possa usá-lo com seu agente do RBM. Primeiro, navegue até a guia do navegador com o Dialogflow aberto. Clique no link Intents no menu de navegação à esquerda. Exclua a amostra de "resposta de texto" clicando na lixeira no canto superior direito. Em seguida, clique em Default Welcome Intent, role para baixo até a seção Responses, clique em + na lista de tipos de resposta e selecione RCS Business Messaging (RBM).

Clique em Adicionar respostas e selecione Resposta simples. No campo de texto da Resposta simples, insira "#Sean's Pizza Place"! Compre qualquer pizza de 12 polegadas e receba uma SEM CUSTO FINANCEIRO!" (substitua Sean pelo seu nome) e clique em Salvar.

Iniciar uma conversa

Agora que você tem uma intent de boas-vindas configurada, volte para o dispositivo de teste e envie a mensagem "Hi". Essa mensagem aciona a intent de boas-vindas padrão, e você verá algo semelhante à imagem abaixo.

Atualizar sua intent de boas-vindas

Agora que você tem o Dialogflow enviando uma mensagem simples, vamos atualizar a mensagem para ser um pouco mais interessante. Queremos não apenas enviar uma mensagem sobre a transação do dia, mas também enviar uma imagem para atrair o usuário receptor e dar a ele algumas outras ações que ele poderia querer fazer.

Vamos substituir nossa mensagem de anúncio de pizza de resposta simples por um card que contém uma imagem e oferece opções para ver o menu completo e o site do restaurante.

Na seção Respostas de intent de boas-vindas padrão, selecione a guia Mensagens de negócios do RCS. Atualize o texto Resposta simples com "quot;Welcome to Sean's Pizza Place". Confira a oferta promocional de hoje. Em seguida, clique em Adicionar respostas e selecione Rich Card autônomo.

No formulário independente de Rich Card, insira o seguinte:

  • Título do card: Compre qualquer pizza de 12 polegadas e receba uma SEM CUSTO FINANCEIRO!
  • Descrição do cartão: mostre esta mensagem em qualquer local participante para resgatar a oferta. A oferta expira em 17/02
  • Selecionar orientação do cartão: vertical
  • URL da imagem/vídeo: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • Selecionar altura de mídia: média

Clique em Adicionar sugestão e insira as seguintes informações:

  • Texto de sugestão: menu "Ver"
  • postback de sugestão: response_view_menu

Para adicionar uma ação de abertura do URL, clique em Adicionar sugestão. Depois, selecione "Abrir ação de URL" no menu suspenso e insira o seguinte:

  • Texto de sugestão: ver site
  • Back-end de sugestão: response_view_website
  • URL a ser aberto: https://www.google.com.br (ou qualquer URL válido).

Clique em Salvar.

Faça o teste!

Quando o modelo mostrar "quot;Agent Training complete"" volte para seu dispositivo e envie a mensagem "quot;Hi" para seu agente. Agora você verá a Resposta simples seguida pelo Rich Card autônomo que você acabou de criar.

Tente tocar em Ver menu. A intent de fallback padrão é acionada. Isso porque o agente do Dialogflow não sabe como lidar com os dados de postback que você configurou para essa sugestão, "reply_view_menu".

Vamos corrigir isso.

Como criar uma intent de menu

O Dialogflow usa intents para categorizar as intenções de um usuário. As intents têm frases de treinamento, que são exemplos do que um usuário pode dizer ao agente. Por exemplo, alguém que queira saber o cardápio pode perguntar: "quot;Qual é seu cardápio"><quot;, "O que posso comer" ou "O que posso pedir?"

Todas essas consultas são únicas, mas têm a mesma intenção: receber informações sobre o cardápio.

Para cobrir essa consulta, crie uma intent de "Menu":

  1. No menu de navegação à esquerda, clique em + ao lado de Intents.
  2. Em Nome da intent, insira "quot;Menu".
  3. Em Frases de treinamento, clique em Adicionar expressão do usuário e insira o seguinte, pressionando Enter após cada entrada:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    Essa última frase de treinamento é usada para mapear os dados de postback que você configurou na seção anterior com essa intent.

Para resposta a essa intent, vamos criar um carrossel que exibe as várias opções do menu. Para um cardápio maior, é recomendável vincular a um site ou compartilhar uma única imagem do menu.

  1. Em Respostas, clique em + e selecione Mensagens de negócios do RCS (RBM).
  2. Clique em Adicionar respostas e selecione Rich Card de carrossel.
  3. Defina a opção Selecionar largura do cartão como Médio.
  4. Na opção de largura, clique em Adicionar cartão duas vezes. Isso aumenta o número de cards para um total de quatro.
  5. No cartão 1, digite o seguinte:
    • Título do cartão: Salsicha e pepperoni
    • Descrição do card: salsicha, pepperoni, azeitonas e pimentas verdes
    • URL da imagem/vídeo: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. No cartão 3, digite o seguinte:
    • Título do cartão: italiano
    • Descrição do card: molho de tomate, queijo e linguiça
    • URL da imagem/vídeo: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. No cartão 2, digite o seguinte:
    • Título do cartão: Margherita
    • Descrição do card: Tomates San Marzano, queijo muçarela, manjericão fresco, sal e azeite extra virgem
    • URL da imagem/vídeo: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. No cartão 4, digite o seguinte:
    • Título do card: Supremo
    • Descrição do card: salsicha, pepperoni, hambúrguer, bacon canadense, cebolas, azeitonas, cogumelos e pimentas verdes
    • URL da imagem/vídeo: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

Seguindo os itens do cartão, também precisamos fornecer uma maneira de o usuário continuar a conversa. Para oferecer suporte a esse recurso, clique em Adicionar respostas e selecione Resposta simples e insira o texto "quot;Deseja fazer algo diferente".

Na resposta simples, clique em Add Suggestion e insira o seguinte:

  • Texto de sugestão: ver promoção
  • Postback de sugestão: "Hi"

Clique em Salvar.

Faça o teste!

Agora pergunte o agente para receber o menu. No dispositivo, na conversa do agente do RBM, digite "quot: O que está no menu"><quot; e envie a mensagem para seu agente.

Seu agente agora responde corretamente à consulta. Observe que, mesmo que sua consulta seja um pouco diferente da frase de treinamento ("O que está no menusmartlinquot; em comparação com "Qual é seu cardápio?quot;), O Dialogflow ainda correspondeu a consulta à intent correta. Você também pode tocar no item Ver menu no Rich Card.

O Dialogflow usa frases de treinamento como exemplos para um modelo de machine learning para corresponder as consultas dos usuários à intenção correta. O modelo de aprendizado de máquina verifica a consulta em relação a cada intent no agente, dá uma pontuação a cada intent e estabelece a correspondência da intent de maior pontuação. Se a intent de pontuação mais alta tiver uma pontuação muito baixa, a correspondência será feita com a intent de fallback.

Captura de intents sem responder

Está quase tudo pronto, mas há uma última coisa que precisamos fazer. Se você voltar para o dispositivo de teste e tocar na sugestão Ver site no rich card inicial, você perceberá que tocar nessa sugestão não apenas abre o URL associado, mas também receberá uma mensagem acionada pela intent de fallback padrão.

Isso acontece porque a ação de URL aberto envia o texto de postback de "reply_view_website" para o Dialogflow quando você toca na ação e o Dialogflow o mapeia para a intent de fallback padrão.

Para capturar dados de postback sem responder imediatamente a eles, criaremos uma intent com frases de treinamento que correspondem aos dados de postback e excluiremos todas as respostas da intent. O Dialogflow fará a correspondência entre os dados de postback e a intent, mas não responderá porque a intent não tem respostas definidas.

Como criar sua intent sem resposta

Para abranger as ações que você quer ignorar, crie uma intent "No response":

  1. No menu de navegação à esquerda, clique em + ao lado de Intents.
  2. Em Nome da intent, digite "quot;No response".
  3. Em Frases de treinamento, clique em Adicionar expressão do usuário e insira o seguinte, pressionando Enter após cada entrada:
    • reply_view_website
  4. Role para baixo até Respostas e remova todas as respostas usando o ícone de lixeira.

Clique em Salvar.

Faça o teste!

No dispositivo, na conversa do agente do RBM, insira "quo";hi" e envie a mensagem para seu agente. Isso acionará a oferta promocional da intent de boas-vindas padrão. Clique na sugestão "Ver site" e observe que o site é aberto no navegador e nenhuma resposta do agente é enviada.

Pronto!

Duração: 1h

Bom trabalho!

Você concluiu todas as etapas da criação de um agente RBM simples com tecnologia do Dialogflow.

Se você quiser saber mais, consulte nosso codelab avançado.

Divirta-se desenvolvendo para esta nova plataforma incrível!