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.
Ciclo de vida de uma página
Quando uma página fica ativa, o agente segue vários passos que podem envolver o preenchimento de entradas, o preenchimento prévio de formulários, a avaliação do controlador de estado, o pedido de parâmetros de formulário, o envio de mensagens de resposta ao utilizador final e uma alteração de página ou um ciclo de repetição:
Seguem-se os detalhes deste processo:
Se existir um fulfillment de entrada para a página, é chamado. Todas as respostas estáticas fornecidas pelo preenchimento são adicionadas à fila de respostas.
Se a resposta parcial estiver ativada, os agentes conversacionais (Dialogflow CX) limpam a fila de respostas e enviam todas as mensagens em fila como uma resposta parcial para o autor da chamada da API de streaming.
Se o preenchimento tiver um webhook, o webhook é chamado, o que pode anexar respostas adicionais à fila. Estas respostas adicionais não acionam uma limpeza imediata da fila de respostas.
Se a página tiver parâmetros de formulário, estes podem ser pré-preenchidos:
- Qualquer parâmetro de sessão definido com o mesmo nome que um parâmetro de formulário é copiado para o parâmetro de formulário.
- Se uma rota acionou uma transição para esta página, e a rota contém uma intenção>correspondente, qualquer parâmetro de intenção com o mesmo nome que um parâmetro de formulário é copiado para o parâmetro de formulário.
Se existirem processadores de estado no âmbito, são avaliados de acordo com as regras de ordem de avaliação do processador. Isto pode envolver rotas, controladores de eventos ou controladores de reprompt invocados a partir da iteração do ciclo anterior. Se for chamado um controlador de estado, pode ocorrer uma ou ambas as seguintes situações:
- Se existir um preenchimento para o controlador, este é chamado. Todas as respostas estáticas fornecidas pelo preenchimento são adicionadas à fila de respostas. A resposta parcial e o webhook também são executados se estiverem ativados.
- Se existir um fluxo ou uma página de destino para o controlador, a sessão transita para o destino e a página fica inativa.
Se todas as seguintes condições forem verdadeiras, é adicionado um pedido de parâmetro de formulário à fila de respostas:
- A página tem um formulário.
- Existem parâmetros de formulário obrigatórios por preencher.
- Não foi seguido um controlador de repetição de pedido no passo 3.
- A resposta parcial e o webhook são executados se estiverem ativados.
As restantes mensagens da fila de respostas são enviadas ao utilizador final e o agente aguarda a entrada do utilizador final.
Se a entrada do utilizador final fornecer um parâmetro de formulário pedido, preencha o parâmetro. Avance para o passo 3.
Navegação do ciclo de vida da página
O visualizador de passos de execução do simulador permite-lhe alternar entre os passos de uma interação específica da conversa e foca os elementos relacionados do Agent Builder para cada passo. No exemplo seguinte, a entrada do utilizador final "Quero alugar um carro" aciona cinco passos de execução e transição:
O visitante dos passos de execução acede à página de início da conversa para o primeiro passo. Neste caso, é a página inicial predefinida.
O trajeto de transição para a intenção
car_rental.reservation_create
é acionado. O visitante dos passos de execução foca esta rota, onde pode ver que o destino da transição é a páginaPickup Location
.O agente entra na página
Pickup Location
.O agente avalia o preenchimento da entrada da página
Pickup Location
. O cumprimento está vazio, pelo que não acontece nada.O agente tenta recolher o parâmetro de formulário necessário
pickup_location
e a mensagem de preenchimento do comando inicial para este parâmetro é apresentada ao utilizador final.
Também pode anular a última expressão e experimentar outra coisa para testar diferentes transições de páginas.
Criar página
Para criar uma página:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud .
- Selecione o seu agente.
- Selecione um fluxo para a página na secção Fluxos.
- Clique no botão de adição add na secção Páginas.
- Introduza um nome a apresentar para a sua página.
- Clique no botão de definições more_vert junto ao nome a apresentar na página.
- Selecione Editar.
- Introduza os campos no painel de edição da página apresentado.
- Clique em Guardar.
API
Consulte 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 de página | Recurso de página |
RPC | Interface de página | Interface de página |
C++ | PagesClient | Não disponível |
C# | PagesClient | Não disponível |
Ir | PagesClient | Não disponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Não disponível | Não disponível |
Python | PagesClient | PagesClient |
Ruby | Não disponível | Não disponível |
Dados da página
Para aceder aos dados de uma página:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o Google Cloud projeto para o agente.
- Selecione o seu agente.
- Clique no fluxo na secção Fluxos.
- As páginas do fluxo são preenchidas na secção Páginas.
- Clique no botão de definições more_vert junto ao nome a apresentar na página.
- Selecione Editar.
- Introduza os campos no painel de edição da página apresentado.
- Clique em Guardar para guardar as alterações.
API
Consulte 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 de página | Recurso de página |
RPC | Interface de página | Interface de página |
C++ | PagesClient | Não disponível |
C# | PagesClient | Não disponível |
Ir | PagesClient | Não disponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Não disponível | Não disponível |
Python | PagesClient | PagesClient |
Ruby | Não disponível | Não disponível |
Os seguintes dados estão associados às páginas:
- Nome a apresentar: Um nome legível para a sua página.
- Preenchimento da entrada (também conhecido como diálogo de entrada): este é o preenchimento a chamar quando a página fica inicialmente ativa.
- Parâmetros: estes são os valores dos parâmetros numa página de formulário que captam a entrada estruturada do utilizador final.
- Routes: estes controladores de estado podem ser chamados quando a página está ativa. Para ver detalhes, consulte o artigo Routes de processadores ao nível da página
- Grupos de rotas: as rotas nestes grupos podem ser chamadas quando a página está ativa. Para mais detalhes, consulte o artigo Grupos de rotas
- Controladores de eventos: estes controladores de eventos podem ser chamados quando a página está ativa. Para obter detalhes, consulte o artigo Controladores de eventos ao nível da página
Definições da página
As seguintes definições estão disponíveis para páginas:
Definições de voz avançadas: Estas definições de voz avançadas podem substituir opcionalmente as mesmas definições de voz de fluxo e definições de voz do agente.
Definições de adaptação de voz: As definições de adaptação de voz ao nível da página podem substituir opcionalmente as mesmas definições de adaptação de voz do fluxo. Instruções mais detalhadas na adaptação manual da voz.
Para aceder às definições da página:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud .
- Selecione o seu agente.
- Passe o cursor do rato sobre a página na secção Páginas.
- Clique no botão de opções more_vert.
- Selecione Definições da página.
- Procurar ou editar definições.
- Clique em Guardar para guardar as alterações.
API
Consulte 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 de página | Recurso de página |
RPC | Interface de página | Interface de página |
C++ | PagesClient | Não disponível |
C# | PagesClient | Não disponível |
Ir | PagesClient | Não disponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Não disponível | Não disponível |
Python | PagesClient | PagesClient |
Ruby | Não disponível | Não disponível |
Elimine uma página
Para eliminar uma página:
Consola
- Abra a consola do Dialogflow CX.
- Escolha o seu projeto do Google Cloud .
- Selecione o seu agente.
- Selecione o fluxo para a página na secção Fluxos.
- Clique no botão de definições more_vert junto ao nome a apresentar da página na secção Páginas.
- Selecione Eliminar.
API
Consulte 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 de página | Recurso de página |
RPC | Interface de página | Interface de página |
C++ | PagesClient | Não disponível |
C# | PagesClient | Não disponível |
Ir | PagesClient | Não disponível |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Não disponível | Não disponível |
Python | PagesClient | PagesClient |
Ruby | Não disponível | Não disponível |