Uma conversa (sessão) dos Agentes de conversação (Dialogflow CX) pode ser descrita e visualizada como uma máquina de estado. Os estados de uma sessão são representados páginas.
Para cada fluxo, você define muitas páginas. As páginas combinadas podem processar uma conversa completa sobre os tópicos para os quais o fluxo foi projetado. A 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. Todos os fluxos têm uma página inicial especial. Quando um fluxo se torna ativo inicialmente, a página inicial se torna a página atual. Para cada turno de conversa, a página atual permanecerá a mesma ou fará a transição para outra.
Cada página é configurada para coletar informações do usuário final relevantes para o estado de conversa representado pela página. Por exemplo, é possível criar as páginas (em azul) no diagrama abaixo para um fluxo de Pedido de comida de um agente que entrega pizzas. O nó Start do diagrama representa a página inicial do fluxo Food Order. Quando o fluxo for concluído, ele faz a transição para o fluxo de Confirmação.
Ciclo de vida de uma página
Quando uma página fica ativa, o agente segue várias etapas que podem envolver fulfillment de entrada, preenchimento de formulários, avaliação de manipulador de estado, solicitação de parâmetro de formulário, envio de mensagens de resposta ao usuário final e uma mudança de página ou um loop de repetição:
Os detalhes desse processo são os seguintes:
Se a entrada fulfillment existir para a página, ela será chamada. Todas as respostas estáticas fornecidas pelo fulfillment são adicionadas à fila de resposta.
Se a resposta parcial estiver ativada, os agentes de conversação (Dialogflow CX) vão limpar a fila de respostas e enviar todas as mensagens em fila como uma resposta parcial ao autor da chamada da API de streaming.
Se o fulfillment tiver um webhook, ele será chamado, e as respostas adicionais poderão ser incluídas na fila. Essas outras respostas não acionam a limpeza imediata da fila de respostas.
Se a página tiver parâmetros de formulário, eles poderão ser preenchidos automaticamente:
- Qualquer parâmetro de sessão definido com o mesmo nome de um parâmetro de formulário é copiado para o parâmetro de formulário.
- Se uma rota acionou uma transição a essa página e a rota contém uma intent correspondente, qualquer parâmetro de intent com o mesmo nome de um parâmetro de formulário será copiado para o parâmetro do formulário.
Se algum gerenciador de estado estiver no escopo, eles será avaliado de acordo com as regras de ordem de avaliação do gerenciador. Isso pode envolver rotas, manipuladores de eventos, ou reprompting manipuladores invocados da iteração de repetição anterior. Se algum gerenciador de estado for chamado, um ou ambos os itens a seguir poderão acontecer:
- Se o fulfillment existir para o gerenciador, ele será chamado. Todas as respostas estáticas fornecidas pelo fulfillment são adicionadas à fila de resposta. A resposta parcial e o webhook também serão executados se estiverem ativados.
- Se houver um fluxo ou uma página de destino para o gerenciador, a sessão transitará para o destino e a página ficará inativa.
Se todos os itens a seguir forem verdadeiros, um prompt de parâmetro de formulário será adicionado à fila de resposta:
- A página tem um formulário.
- Ainda há parâmetros de formulário obrigatórios para preencher.
- Um gerenciador de prompts não foi seguido na etapa 3.
- A resposta parcial e o webhook serão executados se estiverem ativados.
As mensagens restantes da fila de resposta são enviadas ao usuário final, e o agente aguarda a entrada do usuário final.
Se a entrada do usuário final fornecer um parâmetro de formulário solicitado, preencha o parâmetro. Passe para a etapa 3.
Navegação do ciclo de vida da página
Com o visualizador de etapas de execução do simulador, você alterna entre as etapas de uma conversa específica e coloca os elementos do construtor relacionados ao agente em foco para cada etapa. No exemplo a seguir, a entrada do usuário final "Quero alugar um carro" aciona cinco etapas de execução e transição:
O visualizador de etapas de execução leva você à página inicial de conversa para a primeira etapa. Neste caso, é a página inicial padrão.
A rota de transição da intent
car_rental.reservation_create
é acionada. O visualizador de etapas de execução leva essa rota para o foco, onde é possível ver que o destino da transição é a páginaPickup Location
.O agente entra na página
Pickup Location
.O agente avalia o fulfillment da entrada da página
Pickup Location
. O fulfillment está vazio, então nada acontece.O agente tenta coletar o parâmetro de formulário necessário
pickup_location
, e a mensagem de fulfillment inicial para esse parâmetro é mostrada para o usuário final.
Também é possível desfazer a última expressão e tentar algo diferente para testar diferentes transições de páginas.
Criar uma página
Para criar uma página:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione um fluxo para a página na seção Fluxos.
- Clique no botão de adição add na seção Páginas.
- Informe o nome de exibição da sua página.
- Clique no botão de configurações more_vert ao lado do nome da página.
- Selecione Editar.
- Insira os campos no painel de edição da página exibido.
- Clique em Save.
API
Veja o método create
para o tipo Page
.
Selecione um protocolo e uma versão para a referência da página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso da página | Recurso da página |
RPC (remote procedure call) | Interface da página | Interface da página |
C++ | PagesClient | Indisponível |
C# | PagesClient | Indisponível |
Go | PagesClient | Indisponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Indisponível | Indisponível |
Python | PagesClient | PagesClient |
Ruby | Indisponível | Indisponível |
Dados da página
Para acessar os dados de uma página:
Console
- Abra o console do Dialogflow CX.
- Escolha o projeto do Google Cloud para o agente.
- Selecione seu agente.
- Clique no fluxo na seção Fluxos.
- As páginas do fluxo são preenchidas na seção Páginas.
- Clique no botão de configurações more_vert ao lado do nome da página.
- Selecione Editar.
- Insira os campos no painel de edição da página exibido.
- Clique em Salvar para salvar as alterações.
API
Veja os métodos get
e patch/update
para o tipo Page
.
Selecione um protocolo e uma versão para a referência da página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso da página | Recurso da página |
RPC (remote procedure call) | Interface da página | Interface da página |
C++ | PagesClient | Indisponível |
C# | PagesClient | Indisponível |
Go | PagesClient | Indisponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Indisponível | Indisponível |
Python | PagesClient | PagesClient |
Ruby | Indisponível | Indisponível |
Os seguintes dados estão associados a páginas:
- Nome de exibição: um nome legível para sua página.
- Fulfillment de entrada (também conhecida como Caixa de diálogo de entrada): é o fulfillment a ser chamado quando a página se tornar ativa inicialmente.
- Parâmetros: são os valores de parâmetro em um formulário de página que capturam a entrada estruturada do usuário final.
- Rotas: esses gerenciadores de estado podem ser chamados quando a página está ativa. Para detalhes, consulte Rotas do gerenciador no nível da página.
- Grupos de rotas: as rotas dentro desses grupos podem ser chamadas quando a página está ativa. Para mais detalhes, consulte Grupos de rotas
- Gerenciadores de eventos: esses gerenciadores de eventos podem ser chamados quando a página está ativa. Para ver detalhes, consulte Gerenciadores de eventos no nível da página
Configurações da página
As seguintes configurações estão disponíveis para as páginas:
Configurações avançadas de fala: Estas configurações avançadas de fala podem substituir as mesmas Configurações de fluxo de fala e configurações de fala do agente.
Configurações de adaptação de fala: as configurações de adaptação de fala no nível da página podem substituir as mesmas configurações de adaptação de fala do fluxo. Confira instruções mais detalhadas em adaptação manual de fala.
Para acessar as configurações da página, siga estas etapas:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Passe o cursor do mouse sobre a página na seção Páginas.
- Clique no botão de opções more_vert.
- Selecione Configurações de páginas.
- Procure ou edite as configurações.
- Clique em Salvar para salvar as alterações.
API
Veja os métodos get
e patch/update
para o tipo Page
.
Selecione um protocolo e uma versão para a referência da página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso da página | Recurso da página |
RPC (remote procedure call) | Interface da página | Interface da página |
C++ | PagesClient | Indisponível |
C# | PagesClient | Indisponível |
Go | PagesClient | Indisponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Indisponível | Indisponível |
Python | PagesClient | PagesClient |
Ruby | Indisponível | Indisponível |
Excluir uma página
Para excluir uma página:
Console
- Abra o console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione o fluxo para a página na seção Fluxos.
- Clique no botão de configurações more_vert ao lado do nome da página na seção Páginas.
- Selecione Excluir.
API
Veja o método delete
para o tipo Page
.
Selecione um protocolo e uma versão para a referência da página:
Protocolo | V3 | V3beta1 |
---|---|---|
REST | Recurso da página | Recurso da página |
RPC (remote procedure call) | Interface da página | Interface da página |
C++ | PagesClient | Indisponível |
C# | PagesClient | Indisponível |
Go | PagesClient | Indisponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Indisponível | Indisponível |
Python | PagesClient | PagesClient |
Ruby | Indisponível | Indisponível |