Este documento descreve os princípios básicos da utilização de fluxos de agentes conversacionais (Dialogflow CX) para criar um agente. Oferece uma vista geral dos conceitos mais importantes.
Agentes
Um agente de agentes de conversação (Dialogflow CX) é um agente virtual que processa conversas simultâneas com os seus utilizadores finais. É um módulo de compreensão de linguagem natural que compreende as nuances da linguagem humana. Os agentes conversacionais (Dialogflow CX) traduzem o texto ou o áudio do utilizador final durante uma conversa em dados estruturados que as suas apps e serviços podem compreender. Cria e desenvolve um agente de agentes conversacionais (Dialogflow CX) para processar os tipos de conversas necessários para o seu sistema.
Um agente de agentes conversacionais (Dialogflow CX) é semelhante a um agente humano de um centro de chamadas. Prepara-os para processarem cenários de conversa esperados, e a preparação não tem de ser demasiado explícita.
Flows
As caixas de diálogo complexas envolvem frequentemente vários tópicos de conversa. Por exemplo, um agente de entrega de pizzas pode ter encomenda de comida, informações do cliente e confirmação como tópicos distintos. Cada tópico requer várias interações de conversa para que um agente adquira as informações relevantes do utilizador final.
Os fluxos são usados para definir estes tópicos e os caminhos de conversa associados. Cada agente tem um fluxo denominado Fluxo de início predefinido. Este fluxo único pode ser tudo o que precisa para um agente simples. Os agentes mais complicados podem exigir fluxos adicionais, e os diferentes membros da equipa de programação podem ser responsáveis pela criação e manutenção destes fluxos. Por exemplo, os fluxos de um agente de entrega de pizzas podem ter o seguinte aspeto:Páginas
Uma conversa (sessão) de agentes conversacionais (Dialogflow CX) pode ser descrita e visualizada como uma máquina de estados. Os estados de uma sessão são representados por páginas.
Para cada fluxo, define várias páginas onde as páginas combinadas podem processar uma conversa completa sobre os tópicos para os quais o fluxo foi concebido. Em qualquer momento, exatamente uma página é a página atual, a página atual é considerada ativa, e o fluxo associado a essa página é considerado ativo. Cada fluxo tem uma página inicial especial. Quando um fluxo se torna ativo inicialmente, a página inicial torna-se a página atual. Para cada interação de conversa, a página atual permanece igual ou transita para outra página.
Configura cada página para recolher informações do utilizador final relevantes para o estado de conversa representado pela página. Por exemplo, pode criar as páginas (a azul) no diagrama abaixo para um fluxo de Encomenda de comida de um agente de entrega de pizzas. O nó Início do diagrama representa a página inicial do fluxo Encomenda de comida. Quando o fluxo estiver concluído, passa para o fluxo de confirmação.
Tipos de entidade
Os tipos de entidades são usados para controlar como os dados da entrada do utilizador final são extraídos.Os agentes conversacionais (Dialogflow CX) fornecem entidades do sistema predefinidas que podem corresponder a muitos tipos de dados comuns. Por exemplo, existem entidades do sistema para fazer corresponder datas, horas, cores, endereços de email, etc. Também pode criar as suas próprias entidades personalizadas para fazer corresponder dados personalizados. Por exemplo, pode definir uma entidade de vegetais que pode corresponder aos tipos de vegetais disponíveis para compra com um agente de mercearia.
Parâmetros
Os parâmetros são usados para capturar e referenciar valores que foram fornecidos pelo utilizador final durante uma sessão. Cada parâmetro tem um nome e um tipo de entidade. Ao contrário da entrada do utilizador final não processada, os parâmetros são dados estruturados que podem ser facilmente usados para realizar alguma lógica ou gerar respostas.Forms
Para cada página, pode definir um formulário, que é uma lista de parâmetros que devem ser recolhidos do utilizador final para a página. O agente interage com o utilizador final em várias voltas de conversa, até ter recolhido todos os parâmetros do formulário necessários, que também são conhecidos como parâmetros da página. O agente recolhe estes parâmetros na ordem definida na página. Para cada parâmetro de formulário obrigatório, também fornece comandos que o agente usa para pedir essas informações ao utilizador final. Este processo é denominado preenchimento de formulários.
Por exemplo, pode criar um formulário que recolha o nome e o número de telefone do utilizador final para uma página de Collect Customer Info
.
Intenções
Uma intenção categoriza a intenção de um utilizador final para uma interação de conversa.
Uma intenção contém os seguintes dados:
Vigência | Definição |
---|---|
Nome a apresentar | Nome apresentado na consola para a intenção. |
Etiquetas | Etiquetas que ajudam a categorizar intenções. Por exemplo: intenção principal. |
Expressões de preparação | As frases de preparação são frases de exemplo do que os utilizadores finais podem escrever ou dizer, conhecido como introdução do utilizador final. Quando a entrada do utilizador final se assemelha a uma destas expressões, os agentes conversacionais (Dialogflow CX) correspondem à intenção. Não tem de definir todos os exemplos possíveis, porque a aprendizagem automática incorporada dos agentes conversacionais (Dialogflow CX) expande a sua lista com outras expressões semelhantes. |
Parâmetros | Define as suas frases de preparação para usar parâmetros para extrair valores de partes específicas da entrada do utilizador final. |
Padrões DTMF | Consulte o artigo DTMF para integrações de telefonia. |
Webhook
Os Webhooks são serviços que alojam a lógica da sua empresa ou chamam outros serviços. Durante uma sessão, os webhooks permitem-lhe usar os dados extraídos pelo processamento de linguagem natural dos agentes conversacionais (Dialogflow CX) para gerar respostas dinâmicas, validar dados recolhidos ou acionar ações no back-end.Um webhook pode ser um webhook padrão ou um webhook flexível. Com um webhook padrão, os campos de pedido e resposta são definidos por agentes conversacionais (Dialogflow CX). Com um webhook flexível, define os campos de pedido e resposta.
Fulfillment
Para uma interação conversacional de um agente, o agente tem de responder ao utilizador final com uma resposta a uma pergunta, uma consulta de informações ou o encerramento da sessão. O seu agente também pode ter de contactar o seu serviço para gerar respostas dinâmicas ou tomar medidas para uma interação. A realização é usada para realizar tudo isto.
Um preenchimento pode conter qualquer um dos seguintes elementos:
- Mensagens de resposta estáticas.
- Chamadas de webhook para respostas dinâmicas e/ou para tomar medidas.
- Predefinições de parâmetros para definir ou substituir valores de parâmetros.
Durante a vez de um agente, é possível (e, por vezes, desejável) chamar várias realizações, cada uma das quais pode gerar uma mensagem de resposta. Os agentes conversacionais (Dialogflow CX) mantêm estas respostas numa fila de respostas. Quando a vez do agente termina, os agentes conversacionais (Dialogflow CX) enviam as respostas ordenadas ao utilizador final.
Controladores de estado
Os processadores de estado, também denominados simplesmente processadores, são usados para controlar a conversa através da criação de respostas para os utilizadores finais e/ou da transição da página atual. Para cada interação de conversa, os processadores são avaliados e podem afetar a sessão. Os processadores têm três tipos gerais de dados:Vigência | Definição |
---|---|
Requisitos do controlador | Estes são os requisitos que têm de ser cumpridos para que o controlador tenha algum efeito na sessão. Diz-se que um controlador é invocado quando cumpre os respetivos requisitos e afeta a sessão de alguma forma. |
Execução pelo gestor | Se for chamado um controlador, é usado um preenchimento opcional para criar respostas para os utilizadores finais. Estas respostas são definidas nos dados do agente estático ou obtidas dinamicamente a partir do seu serviço de webhook. |
Destino de transição do controlador | Se for chamado um controlador, é usado um destino de transição opcional para alterar a página atual. A página seguinte só pode ser uma página de início do fluxo ou uma página no fluxo atualmente ativo. |
Existem dois tipos de controladores de estado com requisitos de controlador diferentes:
Vigência | Definição |
---|---|
Trajetos | Os trajetos são chamados quando uma entrada do utilizador final corresponde a uma intenção e/ou alguma condição no estado da sessão é cumprida. Um trajeto com um requisito de intenção também é denominado trajeto de intenção. Um trajeto com apenas um requisito de condição também é denominado trajeto de condição. |
Controladores de eventos | Os controladores de eventos são chamados quando um evento é invocado. Alguns eventos incorporados são acionados quando são recebidos dados inesperados do utilizador final ou quando ocorre um erro de webhook. Também pode definir eventos personalizados que invoca quando acontece algo fora da conversa. |
Existem três passos para processar um controlador de estado:
Vigência | Definição |
---|---|
1. Âmbito | Um controlador tem de estar no âmbito para ter algum efeito na sessão. O âmbito é determinado consoante um controlador seja aplicado a um fluxo, a uma página ou a um parâmetro de formulário; e consoante o fluxo associado esteja ativo, a página associada esteja ativa ou o agente esteja atualmente a tentar preencher o parâmetro de formulário associado. |
2. Avaliação | Cada controlador no âmbito é avaliado por ordem. Se os requisitos de um controlador forem cumpridos, este passa na avaliação. |
3. Ligar | Se um controlador estiver no âmbito e passar na avaliação, é chamado. Qualquer preenchimento associado é chamado e qualquer alvo de transição associado é aplicado à sessão. |
Definições de localização e regionalização
Quando cria um agente, tem de especificar uma região como a localização do agente. Os pedidos enviados para o seu agente são processados pelos serviços Google nesta região e os agentes conversacionais (Dialogflow CX) mantêm os dados em repouso fisicamente na região ou localização geográfica. Para conseguir o melhor desempenho, deve escolher uma região perto dos seus serviços e utilizadores finais.
Depois de criar um agente, não é possível alterar a respetiva localização. Para alterar a localização de um agente, tem de exportar e restaurar para um novo agente com uma localização diferente.
Cada localização tem definições associadas que se aplicam a todo o projeto. Na maioria dos casos, não precisa de editar estas definições de localização, e as predefinições funcionam bem. Se o seu sistema exigir chaves de encriptação geridas pelo cliente (frequentemente exigidas por entidades governamentais ou setores regulamentados), leia mais acerca das definições de localização.
Consola
Os agentes conversacionais (Dialogflow CX) oferecem uma interface do utilizador Web denominada consola do Dialogflow CX (visite a documentação, abra a consola). Use esta consola para criar, compilar e testar agentes. Representa graficamente cada fluxo como um diagrama de máquina de estados conversacional, o que facilita a conceção e a compreensão de agentes complexos.
A consola do Dialogflow CX é diferente da Google Cloud consola (visite a documentação, abra a consola). A consola Dialogflow CX é usada para gerir agentes conversacionais (Dialogflow CX), enquanto a Google Cloud consola é usada para gerir Google Clouddefinições específicas de agentes conversacionais (Dialogflow CX) (por exemplo, faturação) e outros Google Cloud recursos.
Na maioria dos casos, deve usar a consola Dialogflow CX para criar agentes, mas também pode usar a API Dialogflow para criar agentes para cenários avançados.
Integrações
Os agentes de conversação (Dialogflow CX) oferecem várias integrações incorporadas com outras plataformas de conversação. Estas integrações oferecem uma interface do utilizador ao utilizador final e chamam a API por si. Só tem de criar o seu agente e, opcionalmente, implementar um serviço de webhook. Cada integração processa as interações de uma forma específica da plataforma. Por isso, consulte a documentação de integração específica para ver detalhes.
Interacções
Para cada turno de conversa, ocorre uma interação. Durante uma interação, um utilizador final envia uma entrada para os agentes conversacionais (Dialogflow CX) e os agentes conversacionais (Dialogflow CX) enviam uma resposta. Tem duas opções quando implementa o seu sistema para processar interações: usar a API ou usar uma integração.
Quando usar a API, o seu sistema tem de processar o seguinte:
- Crie um agente.
- Oferecer uma interface do utilizador para utilizadores finais.
- Chame a API Dialogflow para cada interação de conversa para enviar a entrada do utilizador final para a API.
- A menos que as respostas do seu agente sejam puramente estáticas (incomum), tem de alojar um serviço de webhook para processar o cumprimento ativado por webhook.
Quando usa uma integração, o seu sistema só precisa de processar o seguinte:
- Crie um agente.
- Opcionalmente, implemente um serviço de webhook.
O diagrama seguinte mostra os passos que ocorrem para uma interação conversacional de uma sessão.
- O utilizador final escreve ou diz algo, o que é conhecido como entrada do utilizador final.
- A sua interface do utilizador ou sistema de integração recebe a entrada e encaminha-a para a API Dialogflow num pedido de deteção de intenção.
- A Dialogflow API recebe o pedido detect intent. Faz corresponder a entrada a um parâmetro de intenção ou de formulário, define os parâmetros conforme necessário e atualiza o estado da sessão. Se precisar de chamar um processamento de pedidos ativado por webhook, envia um pedido de webhook para o seu serviço de webhook, caso contrário, avance para o passo 6.
- O seu serviço de webhook recebe o pedido de webhook. O seu serviço toma todas as medidas necessárias, como chamar APIs externas, consultar ou atualizar uma base de dados, etc.
- O seu serviço de webhook cria uma resposta e envia uma resposta de webhook de volta aos agentes conversacionais (Dialogflow CX).
- Os agentes conversacionais (Dialogflow CX) criam uma resposta de intenção de deteção. Se um webhook foi chamado, usa a resposta fornecida na resposta do webhook. Se não tiver sido chamado nenhum webhook, usa a resposta estática definida no agente. Os agentes conversacionais (Dialogflow CX) enviam uma resposta de intenção de deteção para a sua interface do utilizador ou sistema de integração.
- A interface do utilizador ou o sistema de integração recebe a resposta de intenção de deteção e encaminha a resposta de texto ou áudio para o utilizador final.
- O utilizador final vê ou ouve a resposta.