Nesta página, explicamos como criar um app do Google Chat que pode entender e responder com linguagem natural usando o Dialogflow. Este guia usa o Dialogflow CX, que tem uma integração direta com o Google Chat disponível na prévia para desenvolvedores. Também é possível usar o Dialogflow ES para criar um aplicativo do Dialogflow ES para o Google Chat seguindo o guia do Google Chat do Dialogflow ES.
Por exemplo, considere um app de chat que ajuda as pessoas a alugar carros. Um usuário pode escrever "Eu gostaria de alugar um carro". O app do Chat pode responder com uma pergunta como "Onde você quer pegar o veículo?", que inicia uma conversa semelhante à pessoa com o usuário em que o app entende e responde com fala humana durante a reserva do aluguel do carro.
Esse é apenas um exemplo. Os aplicativos do Dialogflow Chat são úteis em todos os tipos de interação. Se ele exigir fala humana natural, ele chamará um aplicativo do Dialogflow Chat. Os agentes pré-criados ajudam você a começar rapidamente e mostram o que o Dialogflow pode fazer, por exemplo:
- Reservar voos
- Agendar consultas médicas
- Peça comida para entrega
- Responder perguntas sobre um catálogo de produtos de varejo, como se os itens estão disponíveis em outras cores
-
Figura 2. Testar o agente no Dialogflow CX para garantir que a lógica e a configuração do agente funcionem conforme o esperado. O diagrama mostra um conjunto sequencial de páginas temáticas que dizem respeito a etapas específicas da conversa, como definir um local de embarque e devolução de um carro alugado, e configura a lógica que os conecta. A conversa é testada em um simulador. -
Figura 3. Configurar um app do Chat para processar respostas usando o agente Dialogflow CX na página de configuração da API Chat no console do Google Cloud. -
Figura 4. Como conversar sobre a reserva de aluguel de carros com o app Dialogflow Chat no Google Chat.
Objetivos
- Configurar o ambiente.
- Criar e implantar um agente do Dialogflow CX.
- Crie e implante um app do Chat com a tecnologia do agente do Dialogflow CX.
- Testar o app do Chat.
Pré-requisitos
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um projeto do Google Cloud.
- Ative o faturamento do seu projeto do Cloud. Saiba como verificar o status de faturamento de seus projetos.
Arquitetura
No diagrama a seguir, mostramos a arquitetura de um app do Chat criado com o Dialogflow:
No diagrama anterior, um usuário interagindo com um app do Dialogflow Chat tem o seguinte fluxo de informações:
- Um usuário envia uma mensagem no Chat para um app do Chat, seja em uma mensagem direta ou em um espaço do Chat.
- Um agente virtual do Dialogflow, que fica no Google Cloud, recebe e processa a mensagem para produzir uma resposta.
- Opcionalmente, usando um webhook do Dialogflow, o agente do Dialogflow pode interagir com serviços externos de terceiros, como um sistema de gerenciamento de projetos ou uma ferramenta de criação de tíquetes.
- O agente do Dialogflow envia uma resposta de volta ao serviço do app do Chat no Chat.
- A resposta é entregue ao espaço do Chat.
configurar o ambiente
Antes de usar as APIs do Google, é preciso ativá-las em um projeto do Google Cloud. É possível ativar uma ou mais APIs em um único projeto do Google Cloud.No console do Google Cloud, ative as APIs Google Chat e Dialogflow.
Confirme se você está ativando as APIs no projeto correto do Cloud e clique em Próxima.
Confirme se você ativou as APIs corretas e clique em Ativar.
Criar um agente do Dialogflow CX
O agente do Dialogflow CX é um agente virtual que lida com conversas simultâneas com seus usuários finais. Ele é um módulo de compreensão de linguagem natural que entende as nuances da linguagem humana. O Dialogflow converte textos do usuário final durante uma conversa em dados estruturados que seus aplicativos e serviços podem entender. Você projeta e cria um agente do Dialogflow para lidar com os tipos de conversas necessárias para seu sistema.
Um agente do Dialogflow é como um agente humano de call center. O agente pode ser treinado para lidar com os cenários de conversa esperados, e o treinamento não precisa ser muito explícito.
Confira como criar o agente do Dialogflow CX:
No console do Dialogflow CX, abra o console do Dialogflow CX. Clique em Menu > Dialogflow CX.
Escolha um projeto do Google Cloud. Para encontrar o projeto, talvez seja necessário clicar em All e pesquisar por ele.
Agora você tem a opção de escolher um agente pré-criado ou criar o seu. Se você preferir explorar a personalização do agente em detalhes mais tarde, escolha um dos agentes pré-criados, que também são úteis para saber mais sobre o que os agentes podem fazer.
Para escolher um agente pré-criado, siga estas etapas:
- Clique em Usar agentes pré-criados.
Selecione um agente pré-criado. Para este guia, selecione Viagens: aluguel de carros.
Os agentes são classificados como iniciantes, intermediários ou avançados com base na quantidade de recursos que eles usam e na sofisticação da lógica de conversa. A escolha de um agente intermediário ou avançado pode exigir personalizações e configurações específicas dele, incluindo a ativação de recursos e APIs no console do Google Cloud.
Clique em Import as agent.
Para criar seu próprio agente, siga estas etapas:
- Clique em Criar agente.
- Selecione Gerar automaticamente para criar um agente de repositório de dados ou Criar seu próprio para criar outros tipos de agentes.
Para um tutorial detalhado do processo de criação do agente, consulte Criar um agente do Dialogflow CX.
Defina as configurações básicas do agente:
- Em Nome de exibição, digite um nome.
- Selecione um local. Se você quiser alterar as configurações de localização avançadas, clique em Editar.
- Selecione o fuso horário.
- Selecione o idioma padrão do agente. Após a criação, não é possível alterar o idioma padrão de um agente.
Clique em Criar. O Dialogflow CX começa a criar o agente e, em seguida, exibe o fluxo inicial padrão do agente.
Se quiser, personalize o agente. Para um tutorial detalhado sobre o processo de personalização do agente, consulte Criar um agente do Dialogflow CX.
Recomendamos testar o agente:
- Clique em Testar agente.
- Selecione Testar agente no ambiente.
- Em "Ambiente", selecione Rascunho.
- Em "Fluxo", selecione Fluxo inicial padrão.
- Na página, selecione Página inicial.
- Na barra de escrita Falar com o agente, digite
Hello
e pressione Enter. O agente responde apresentando-se. - Conclua o teste usando o exemplo de conversa de teste.
O agente do Dialogflow CX é criado. Volte para o console do Dialogflow CX. Clique em Menu > Dialogflow CX.
Em Agents, clique em > Copy name. Salve esse nome porque ele é usado na configuração do app do Chat.
Criar um app do Chat e conectá-lo ao agente do Dialogflow
Depois de criar um agente do Dialogflow CX, siga estas etapas para transformá-lo em um app do Chat:
No console do Google Cloud, acesse a API Google Chat. Pesquise "API Google Chat", clique em API Google Chat e selecione Gerenciar.
Clique em Configuração e configure o app do Chat:
- Em Nome do app, insira
Dialogflow App
. - No URL do avatar, digite
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - Em Descrição, digite
Responds to real human conversation
. - Em Funcionalidade, selecione Receber mensagens individuais e Participar de espaços e conversas em grupo.
- Em Configurações de conexão, selecione Dialogflow.
- Em Dialogflow settings, selecione Dialogflow CX.
- Em Agent or Environment resource name, cole o nome do agente do Dialogflow CX que você copiou no final de Criar um agente do Dialogflow CX.
- Disponibilize este app de chat para pessoas e grupos específicos no seu domínio e digite seu endereço de e-mail.
- Em Registros, selecione Registrar erros no Logging.
- Em Nome do app, insira
Clique em Salvar.
O app do Chat está pronto para receber e responder mensagens no Chat.
Teste o app do Chat
Envie uma mensagem para o Google Chat para testar o app de chat do Dialogflow CX.
Abra o Google Chat usando a conta do Google Workspace que você forneceu quando se adicionou como trusted testers.
- Clique em Novo chat.
- No campo Adicionar uma ou mais pessoas, digite o nome do seu app do Chat.
Selecione o app do Chat nos resultados. Uma mensagem direta será aberta.
Na nova mensagem direta com o app, digite
Hello
e pressioneenter
.O app Dialogflow Chat responde apresentando a si mesmo.
- Conclua o teste usando a conversa de teste de exemplo.
Exemplo de conversa de teste
Para testar o app de chat do Dialogflow CX no Console do Dialogflow CX ou no Google Chat, faça a seguinte conversa. A explicação ajuda você a entender como o agente do Dialogflow CX interpreta a linguagem natural do usuário e produz a própria resposta de linguagem natural em cada etapa da conversa. Esta conversa de amostra é baseada no agente pré-criado chamado Viagens: aluguel de carros.
Caixa de diálogo | Explicação |
---|---|
Usuário final: Olá! Agente: Olá! Sou o agente virtual de aluguel de carros. Posso ajudar você a fazer uma nova reserva de aluguel de carro. Como posso ajudar você hoje? |
|
Usuário final:eu gostaria de alugar um carro. Agente: Onde você quer pegar o veículo? |
|
Usuário final:Las Vegas Agente: Ok, a retirada será em Las Vegas. Agente:seu local de desembarque é diferente do local de partida? |
|
Usuário final: sim. Vou deixar o carro em Los Angeles. Agente: Ok, seu desembarque será em Los Angeles. Agente: Que data e hora você quer pegar o veículo? |
|
Usuário final: quero pegar o carro no dia 5 de março ao meio-dia. Agente:Em que data e hora você quer deixar o veículo? |
|
Usuário final: 15 de março ao meio-dia. Agente:para confirmar: Você vai retirar o veículo em Las Vegas 2024-03-05 12:00:00 e devolvê-lo em Los Angeles 15-03-2024 12:00:00 O que você acha? |
|
Usuário final:sim, obrigado. Agente:Ótimo! Agora vamos escolher um veículo. Agente:você quer um veículo econômico ou de luxo? |
|
Usuário final:questões econômicas, por favor. Agente:você quer o carro da Cymbal ou o caminhão da Cymbal? |
|
Usuário final:Cymbal Truck. Agente:A Cymbal Truck custa US $50,33 por dia. Tem capacidade para quatro pessoas e vem com rádio AM/FM. Quer fazer o pagamento? Usuário final:sim. |
|
Agent: Qual tipo de cartão você usará? Usuário final: Altostrat Agente: Digite o número do cartão. Usuário final: 1234 1234 1234 1234 Agente:Qual é o nome do cartão? Usuário final: Charlie Agente: Qual é o endereço de faturamento? Usuário final: 1800 Amphibious Blvd. Mountain View, CA Agente: Qual é o CEP de faturamento? Usuário final:94045 Agente: você vai pegar o carro da Cymbal em Las Vegas, 05-03-2024, 12:00:00 e devolvê-lo, 15-03-2024 12:00:00. O total desta viagem será de US$ 175,38. Agente:Agradecemos sua locação. Tenha um ótimo dia. |
|
Enviar mensagens de cartão do Dialogflow
O Dialogflow pode responder com mensagens de texto ou cartão. Para responder com uma mensagem de cartão, especifique-a como um payload personalizado no fulfillment.
O JSON a seguir mostra como enviar uma mensagem de cartão como um payload personalizado no fulfillment:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
Limites e considerações
- Os eventos de interação por chat têm suporte limitado, e há algumas considerações:
- Há suporte para os seguintes
tipos de evento de interação:
MESSAGE
ADDED_TO_SPACE
- A entrada da consulta enviada ao agente do Dialogflow corresponde ao valor do campo
argumentText
na mensagem do Chat. Se a mensagem incluir um comando de barra, o valor do campotext
será usado. - O payload JSON completo de cada evento de interação do Chat é enviado para o Dialogflow como um payload personalizado no parâmetro de consulta e pode ser acessado com um Webhook do Dialogflow consultando o valor do campo
WebhookRequest.payload
.
- Há suporte para os seguintes
tipos de evento de interação:
- Os comandos de barra têm suporte limitado:
- Os comandos de barra que abrem caixas de diálogo não são compatíveis com os apps do Dialogflow Chat.
- Quando os apps do Dialogflow Chat recebem uma mensagem com um comando de barra, a entrada da consulta contém apenas o valor do campo
text
. O campotext
começa com o nome do comando de barra (por exemplo,/command
), que pode ser usado para configurar a intent de um agente do Dialogflow para detectar um comando de barra. - Se o agente do Dialogflow precisar processar o payload JSON do evento de interação do Chat do comando de barra, ele poderá fazer isso usando um webhook do Dialogflow para inspecionar o payload personalizado no parâmetro de consulta.
- As visualizações de links não são compatíveis.
- Se o agente do Dialogflow responder com apenas uma mensagem, ela será enviada ao Google Chat de forma síncrona. Se o agente do Dialogflow responder com várias mensagens, todas elas serão enviadas ao Chat de forma assíncrona. Basta chamar o método
create
no recursospaces.messages
da API Chat uma vez para cada mensagem.
Resolver problemas
Quando um app ou card do Google Chat retorna um erro, a interface do Chat mostra a mensagem "Ocorreu um erro" ou "Não foi possível processar sua solicitação". Às vezes, a interface do Chat não mostra nenhuma mensagem de erro, mas o app ou card do Chat produz um resultado inesperado. Por exemplo, uma mensagem de card pode não aparecer.
Embora uma mensagem de erro não apareça na interface do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar a corrigir erros quando o registro de erros dos apps do Chat está ativado. Se precisar de ajuda para visualizar, depurar e corrigir erros, consulte Resolver problemas e corrigir erros do Google Chat.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, recomendamos que você exclua o projeto do Cloud.
- No Console do Google Cloud, acesse a página Gerenciar recursos. Clique em Menu > IAM e administrador > Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Temas relacionados
- O Dialogflow CX adota uma abordagem de máquina de estado para o design do agente do Dialogflow, que proporciona controle claro e explícito sobre uma conversa, uma melhor experiência do usuário final e um fluxo de trabalho de desenvolvimento melhor. Recomendamos o uso do Dialogflow CX ao criar um app do Dialogflow Chat.
- Para saber mais sobre como criar e configurar agentes, consulte Agentes do Dialogflow CX.
- Para um tutorial detalhado sobre como criar e configurar agentes, consulte Criar um agente do Dialogflow CX.
- O Dialogflow ES é outra maneira de usar o Dialogflow com um app de chat.