Esta página explica como criar um app do Google Chat que entenda e responda com linguagem natural usando o Dialogflow. Este guia usa o Dialogflow CX, que tem uma integração direta com o Google Chat. Você também pode usar o Dialogflow ES para criar um app do Google Chat do Dialogflow ES seguindo o guia Google Chat do Dialogflow ES.
Por exemplo, considere um app do Chat que ajuda pessoas a alugar carros. Um usuário escreve "Quero alugar um carro". O app do Chat pode responder com uma pergunta como "Onde você quer retirar o veículo?", o que dá início a uma conversa parecida com a de pessoas. Nesse caso, o app do Chat entende e responde em linguagem natural enquanto agenda o aluguel do carro.
Esse é apenas um exemplo. Os apps de chat do Dialogflow são úteis em todos os tipos de interações. Se for necessário usar linguagem natural, use um app de chat do Dialogflow. Os agentes pré-criados ajudam você a começar rapidamente e mostram o que o Dialogflow pode fazer, como:
- Reservar voos
- Agendar consultas médicas
- Pedir comida por entrega
- Responder a perguntas sobre um catálogo de produtos de varejo, como se os itens estão disponíveis em outras cores
-
Figura 1. Selecionar um agente pré-criado para um app de chat do Dialogflow. -
Figura 2. Testar o agente no Dialogflow CX para garantir que a lógica e a configuração dele funcionem conforme o esperado. O diagrama mostra um conjunto sequencial de páginas temáticas que se referem a etapas específicas da conversa, como definir um local de retirada e local de devolução de um carro alugado, e configura a lógica que as conecta. A conversa é testada em um simulador. -
Figura 3. Configurar um app do Chat para processar respostas usando o agente de CX do Dialogflow CX na página de configuração da API Chat no console do Google Cloud. -
Figura 4. Ter uma conversa sobre como reservar um carro alugado com o app Dialogflow Chat no Google Chat.
Objetivos
- Prepare o ambiente.
- Crie e implante um agente do Dialogflow CX.
- Crie e implante um app de chat com tecnologia do agente de CX do Dialogflow CX.
- Teste o app Chat.
Pré-requisitos
- Uma conta do Google Workspace Business ou Enterprise com acesso ao Google Chat.
- Ter um projeto do Google Cloud com o faturamento ativado. Para verificar se um projeto já tem o faturamento ativado, consulte Verificar o status de faturamento dos seus projetos. Para criar um projeto na nuvem e configurar o faturamento, consulte Criar um projeto na nuvem do Google Cloud.
Arquitetura
O diagrama a seguir mostra a arquitetura de um app de chat criado com o Dialogflow:
No diagrama anterior, um usuário interagindo com um app de chat do Dialogflow tem o seguinte fluxo de informações:
- Um usuário envia uma mensagem no Chat para um app do Chat, em uma mensagem direta ou em um espaço do Chat.
- Um agente virtual do Dialogflow, que reside no Google Cloud, recebe e processa a mensagem para produzir uma resposta.
- De maneira opcional, 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 emissão de tíquetes.
- O agente do Dialogflow envia uma resposta de volta para o serviço do app Chat no Chat.
- A resposta é enviada para o espaço do Chat.
Configure o ambiente
Antes de usar as APIs do Google, é necessário 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 na nuvem e clique em Próxima.
Confirme se você está ativando as APIs corretas e clique em Ativar.
Criar um agente do Dialogflow CX
Um agente de CX do Dialogflow CX é um agente virtual que processa conversas simultâneas com seus usuários finais. Ele é um módulo de compreensão de linguagem natural que entende as nuances da fala humana. O Dialogflow converte textos de usuários finais durante uma conversa em dados estruturados que seus apps e serviços podem entender. Você projeta e cria um agente do Dialogflow para atender aos tipos de conversa solicitadas pelo seu sistema.
Um agente do Dialogflow é como um funcionário de call center. O agente pode ser treinado para lidar com os cenários comuns de conversas, e o treinamento não precisa ser muito detalhado.
Saiba como criar o agente de CX 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 seu projeto, talvez seja necessário clicar em Todos e pesquisar.
Agora você pode 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 Aprenda 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 Viagem: aluguel de carros.
Os agentes são classificados como iniciante, intermediário ou avançado com base no número de recursos que usam e na sofisticação da lógica de conversa. Escolher um agente intermediário ou avançado pode exigir personalizações e configurações específicas do agente, incluindo a ativação de recursos e APIs no console do Google Cloud.
Clique em Importar como agente.
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 Crie o seu para criar outros tipos de agentes.
Para um tutorial detalhado sobre o processo de criação de agentes, consulte Criar um agente de CX do Dialogflow CX.
Defina as configurações básicas do agente:
- Em Nome de exibição, insira um nome.
- Selecione um local. Se quiser mudar as configurações avançadas de local, clique em Editar.
- Selecione o fuso horário.
- Selecione o idioma padrão do agente. Não é possível mudar o idioma padrão de um agente depois da criação.
Clique em Criar. O Dialogflow CX começa a criar o agente e mostra o fluxo inicial padrão dele.
Se quiser, personalize o agente. Para um tutorial detalhado sobre o processo de personalização do agente, consulte Criar um agente do Dialogflow CX.
Como prática recomendada, teste o agente:
- Clique em Testar agente.
- Selecione Testar agente no ambiente.
- Em "Ambiente", selecione Rascunho.
- Em "Fluxo", selecione Fluxo inicial padrão.
- Em "Página", selecione Página inicial.
- Na barra de escrita Falar com o agente, digite
Helloe pressione Enter. O agente responde se apresentando. - Conclua o teste com a conversa de teste de amostra.
O agente de CX do Dialogflow CX é criado. Volte para o console do Dialogflow CX. Clique em Menu > Dialogflow CX.
Em Agentes, clique em > Copiar nome. Salve esse nome, porque ele será usado na configuração do app Chat.
Criar um app de 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 de chat:
No console do Google Cloud, acesse a API Google Chat. Pesquise "API Google Chat" e clique em API Google Chat e em Gerenciar.
Clique em Configuração e configure o app Chat:
- Em Nome do app, insira
Dialogflow App. - Em URL do avatar, insira
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - Em Descrição, insira
Responds to real human conversation. - Em Funcionalidade, selecione Participar de espaços e conversas em grupo.
- Em Configurações de conexão, selecione Dialogflow.
- Em Configurações do Dialogflow, selecione Dialogflow CX.
- Em Nome do recurso do agente ou ambiente, cole o nome do agente de CX do Dialogflow CX que você copiou no final de Criar um agente do Dialogflow CX.
- Disponibilize o 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 Chat está pronto para receber e responder a mensagens.
Teste o app do Chat
Teste o app de chat do Dialogflow CX enviando uma mensagem para ele no Google Chat.
Abra o Google Chat usando a conta do Google Workspace que você informou ao se adicionar como trusted tester.
- Clique em Novo chat.
- No campo Adicionar uma ou mais pessoas, digite o nome do seu app de chat.
Selecione seu app de chat nos resultados. Uma mensagem direta é aberta.
Na nova mensagem direta com o app, digite
Helloe pressioneenter.O app Dialogflow Chat responde se apresentando.
- Conclua o teste com a conversa de teste de amostra.
Exemplo de conversa de teste
Para testar o app de chat do Dialogflow CX no console do Dialogflow CX ou no Google Chat, tenha a seguinte conversa. A explicação ajuda você a entender como o agente de CX do Dialogflow CX interpreta a linguagem natural do usuário e produz a própria resposta em linguagem natural em cada etapa da conversa. Esta conversa de exemplo é baseada no agente pré-criado chamado Viagem: aluguel de carros.
| Dialog | Explicação |
|---|---|
|
Usuário final:Olá Representante:Oi! Sou o agente virtual de aluguel de carros. Posso ajudar você a iniciar uma nova reserva de carro alugado. Como posso ajudar você hoje? |
|
|
Usuário final:quero alugar um carro. Agente:onde você quer retirar o veículo? |
|
|
Usuário final:Las Vegas Agente:Ok, a retirada será em Las Vegas. Agente:o local de desembarque é diferente do local de embarque? |
|
|
Usuário final:sim. Vou deixar o carro em Los Angeles. Agente:Ok, o desembarque será em Los Angeles. Representante:Para que data e hora você quer agendar a retirada do veículo? |
|
|
Usuário final:quero retirar o carro em 5 de março ao meio-dia. Agente:Para 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 devolver em Los Angeles 2024-03-15 12:00:00 Está tudo certo? |
|
|
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:econômica, por favor. Agente:Você quer o carro ou o caminhão da Cymbal? |
|
|
Usuário final:Cymbal Truck. Agente:O caminhão da Cymbal custa US $50,33 por dia. Ele acomoda quatro pessoas e vem com um rádio AM/FM. Quer continuar com o pagamento? Usuário final:sim, por favor. |
|
|
Agente:qual tipo de cartão você vai usar? Usuário final:Altostrat Agente:insira o número do cartão. Usuário final:1234 1234 1234 1234 Agente:Qual é o nome no cartão? Usuário final:Charlie Agente:Qual é o endereço de cobrança? Usuário final:Rua Fictícia, Mountain View, CA Agente:Qual é o CEP de faturamento? Usuário final: 94045 Agente: Você vai retirar o Cymbal Car em Las Vegas em 05/03/2024 às 12h e devolver em 15/03/2024 às 12h. O total desta viagem será de US$ 175,38. Representante:agradecemos por alugar com a gente. Tenha um ótimo dia! |
|
Enviar mensagens de card do Dialogflow
O Dialogflow pode responder com mensagens de texto ou card. Para responder com uma mensagem de card, especifique-a como um payload personalizado em fulfillment.
O JSON a seguir mostra como enviar uma mensagem de card como um payload personalizado no fulfillment:
json
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": { "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"
}}
}]}}]}]
}
}]}
}}}}
Limitações e considerações
- Ao usar apps do Google Chat com o Dialogflow,
os objetos de evento de chat
têm as seguintes limitações e considerações:
- Eventos da página inicial do app:o suporte para eventos
APP_HOMEainda não está disponível. - Entrada de consulta do Dialogflow:o texto enviado como entrada de consulta para o agente do Dialogflow depende do tipo de evento:
MESSAGE:o valor do campoargumentTextda mensagem de chat.APP_COMMAND:a string"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE:a string"ADDED_TO_SPACE_PAYLOAD".REMOVED_FROM_SPACE:a string"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED:a string"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED:a string"WIDGET_UPDATED_PAYLOAD"(usada para preenchimento automático).
- Payload de evento completo:o payload JSON completo do evento de interação de chat é enviado ao Dialogflow no campo
WebhookRequest.payload. Você pode acessar isso no seu webhook do Dialogflow. Para mais informações, consulte a documentação de solicitação de webhook do Dialogflow CX.
- Eventos da página inicial do app:o suporte para eventos
- Considerações para responder a comandos e receber dados de cards ou caixas de diálogo:
- Se o agente do Dialogflow precisar processar o payload JSON do evento de interação de chat, ele pode fazer isso usando um webhook do Dialogflow para inspecionar o payload personalizado no parâmetro de consulta.
- Para mostrar uma caixa de diálogo do
agente do Dialogflow, responda com um único payload JSON personalizado que
contém um
objeto
RenderActionscom a navegaçãopushCard. - Para processar os dados inseridos nos cards, use um webhook do Dialogflow e responda com um único payload JSON personalizado que contenha a ação apropriada.
- Não há suporte para prévia de links.
- 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 chamando o método
createno recursospaces.messagesda API Chat uma vez para cada mensagem. - Ao usar a integração do Dialogflow CX com o Chat, o agente do Dialogflow e o app Chat precisam ser configurados no mesmo projeto na nuvem do Google Cloud. Se você precisar configurar o Dialogflow e o Chat em projetos na nuvem diferentes, poderá configurar um servidor intermediário para facilitar a conexão. Para saber como, consulte este exemplo de integração de chat para o Dialogflow CX no GitHub.
Resolver problemas
Para depurar seu app do Chat, comece revisando os registros de erros. Como esse app usa o Dialogflow, você tem vários recursos de geração de registros e solução de problemas disponíveis:
Registros de complemento do Google Workspace:consulte registros para informações detalhadas sobre o comportamento do app Chat, incluindo as interações dele com o Chat. Consulte Consultar registros de complementos do Google Workspace.
Erros do app Google Chat:para mensagens de erro e correções gerais do app Chat, consulte Resolver problemas e corrigir erros do app Chat.
Cloud Logging do Dialogflow CX:verifique se o Cloud Logging está ativado nas configurações do agente do Dialogflow para capturar registros de execução detalhados, incluindo erros do agente e interações de webhook. Saiba como ativar e configurar isso na documentação de configurações do agente de CX do Dialogflow CX. Esses registros podem ser visualizados na Análise de registros do console do Google Cloud.
Histórico de conversas do Dialogflow CX:analise interações anteriores para entender o fluxo da conversa e identificar onde ocorrem problemas. Consulte Histórico de conversas.
Solução de problemas gerais do Dialogflow:para problemas mais amplos do Dialogflow, consulte o guia de solução de problemas do Dialogflow CX.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, recomendamos que você exclua o projeto na nuvem.
- No console do Google Cloud, acesse a página Gerenciar recursos. Clique em Menu > IAM e admin > Gerenciar recursos.
- Na lista de projetos, selecione o 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 usa uma abordagem de máquina de estado para o design de agentes do Dialogflow, o que oferece controle claro e explícito sobre uma conversa, uma melhor experiência do usuário final e um fluxo de desenvolvimento aprimorado. Ao criar um app de chat do Dialogflow, recomendamos usar o Dialogflow CX.
- Para saber mais sobre como criar e configurar agentes de CX, consulte Agentes do Dialogflow CX.
- Para um tutorial detalhado sobre como criar e configurar agentes de CX, consulte Criar um agente do Dialogflow CX.
- Codelab:para um exemplo de como criar um agente de repositório de dados do Dialogflow CX, consulte o app de chat de conhecimento do codelab Criar apps para o Google Chat com o Gemini.
- Codelab:para um exemplo de como criar um agente de conversação do Dialogflow CX, consulte o app de chat de feedback do codelab Crie apps para o Google Chat com o Gemini.
- O Dialogflow ES é outra maneira de usar o Dialogflow com um app de chat.
Apps de chat que não são complementos: criar um app do Google Chat com o Dialogflow CX
Se você estiver criando ou mantendo um app do Chat que não seja um complemento do Google Workspace, observe as seguintes diferenças de configuração, payload e evento.
Configurar um app de chat do Dialogflow CX que não seja um complemento
Ao configurar a API Google Chat no console do Google Cloud:
- Desmarque Criar este app do Chat como um complemento do Google Workspace. Uma caixa de diálogo vai pedir para você confirmar. Na caixa de diálogo, clique em Desativar.
- Preencha as configurações restantes do Dialogflow CX e clique em Salvar.
Enviar mensagens de card de um app do Chat do Dialogflow CX que não é um complemento
Em um app do Chat que não seja um
complemento, especifique um objeto cardsV2
de nível superior no payload personalizado do Dialogflow 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"
}
}
}
]
}
}
]
}
]
}
}]
}
Limitações e considerações para apps de chat do Dialogflow CX que não são complementos
- Os eventos de interação por chat têm o seguinte suporte e considerações:
- Os seguintes
tipos de eventos de interação
são compatíveis:
MESSAGEADDED_TO_SPACECARD_CLICKED
- Para eventos
MESSAGEouADDED_TO_SPACE, a entrada de consulta enviada ao agente do Dialogflow corresponde ao valor do campoargumentTextna mensagem de chat. Se a mensagem incluir um comando de barra, o valor do campotextserá usado. - Para eventos
CARD_CLICKED, a entrada de consulta enviada ao agente do Dialogflow é formatada comoCARD_CLICKED.functionName, em quefunctionNamecorresponde ao valor do campofunctiondo objeto Action anexado ao elemento de card interativo (como um botão). - O payload JSON completo de cada evento de interação do chat
é enviado ao Dialogflow como um payload personalizado no parâmetro de consulta e
pode ser acessado com um
webhook do Dialogflow
ao consultar o valor do campo
WebhookRequest.payload.
- Os seguintes
tipos de eventos de interação
são compatíveis:
- Considerações para responder a
comandos de barra e
receber dados de cards ou caixas de diálogo em
apps de chat que não são complementos:
- Quando os apps de chat do Dialogflow que não são
complementos recebem uma mensagem com um
comando de barra, a entrada de consulta contém apenas o valor do campo
text. O campotextcomeça com o nome do comando de barra (por exemplo,/command), que pode ser usado para configurar a intenção de um agente do Dialogflow para detectar um comando de barra. - Para mostrar uma caixa de diálogo do agente do Dialogflow em um app do Chat que não seja um complemento, responda com um único payload JSON personalizado que inclua uma mensagem com uma resposta de ação
DIALOG. - Para processar dados inseridos em cards de um
app do Chat que não é um
complemento, o agente do Dialogflow pode detectar
intenções que começam com o texto
CARD_CLICKEDe responder com um payload JSON personalizado único que contém a ação adequada.
- Quando os apps de chat do Dialogflow que não são
complementos recebem uma mensagem com um
comando de barra, a entrada de consulta contém apenas o valor do campo