Usando o Visual Conversation Builder - Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o Visual Conversation Builder

O Visual Conversation Builder é um criador de conversas de arrastar e soltar para projetar e visualizar facilmente caminhos de conversação usando intenções em um ambiente visual rico.

Acessar o Visual Conversation Builder
  1. No console do Amazon Lex V2, selecione um bot e selecione Intenções no painel de navegação à esquerda.

  2. Acesse o editor de intenções de uma das seguintes formas:

    • Selecione Adicionar intenção no canto superior direito da seção Intenções e, em seguida, escolha adicionar uma intenção vazia ou uma intenção incorporada.

    • Escolha o nome de uma intenção na seção Intenções.

  3. No editor de intenção, selecione Construtor visual no painel na parte inferior da tela para acessar o Visual Conversation Builder.

  4. Para retornar à interface do editor de intenção do menu, selecione Editor.


                Um exemplo de fluxo de conversa com o Visual Conversation Builder.

O Visual Conversation Builder oferece uma interface de usuário mais intuitiva com a capacidade de visualizar e modificar o fluxo da conversa. Ao arrastar e soltar os blocos, você pode estender um fluxo existente ou reordenar as etapas da conversa. Você pode desenvolver um fluxo de conversação com ramificações complexas sem escrever nenhum código Lambda.

Essa mudança ajuda a dissociar o design do fluxo de conversação de outras lógicas de negócios no Lambda. O Visual Conversation Builder pode ser usado em conjunto com o editor de intenções existente para criar fluxos de conversação. No entanto, é recomendável usar a visualização do editor visual para fluxos de conversação mais complexos.

Ao salvar uma intenção, o Amazon Lex V2 pode conectar automaticamente as intenções quando determina que há conexões perdidas, o Amazon Lex V2 sugere uma conexão ou você pode selecionar sua própria conexão para o bloco.

Ação Exemplo

Adicionar um bloco ao espaço de trabalho

Adicionar um bloco ao espaço de trabalho

Fazer uma conexão entre blocos


                                    Fazer uma conexão entre blocos

Abrir o painel de configuração em um bloco


                                    Abrir o painel de configuração em um bloco

Ampliar para caber


                                    Ampliar para caber

Excluir um bloco do fluxo de conversa


                                    Excluir um bloco do fluxo de conversa

Limpeza automática do espaço de trabalho


                                    Limpeza automática do espaço de trabalho

Terminologia:

Bloco: a unidade básica de construção de um fluxo de conversação. Cada bloco tem uma funcionalidade específica para lidar com diferentes casos de uso de uma conversa.

Porta: cada bloco contém portas, que podem ser usadas para conectar um bloco a outro. Os blocos podem conter portas de entrada e portas de saída. Cada porta de saída representa uma variação funcional específica de um bloco (como erros, tempos limite ou sucesso).

Borda: uma borda é uma conexão entre a porta de saída de um bloco e a porta de entrada de outro bloco. É parte de uma ramificação em um fluxo de conversação.

Fluxo de conversação: um conjunto de blocos conectados por bordas que descreve as interações em nível de intenção com um cliente.

Blocos

Os blocos são os alicerces de um design de fluxo de conversação. Representam diferentes estados dentro da intenção, que vão desde o início da intenção até a entrada do usuário até o fechamento.

Cada bloco tem um ponto de entrada e um ou vários pontos de saída com base no tipo de bloco. Cada ponto de saída pode ser configurado com uma mensagem correspondente à medida que a conversa prossegue pelos pontos de saída. Para blocos com vários pontos de saída, eles estão relacionados ao status correspondente ao nó. Para um nó condicional, os pontos de saída representam as diferentes condições.

Cada bloco tem um painel de configuração, que abre ao clicar no ícone Editar no canto superior direito do bloco. O painel de configuração contém campos detalhados que podem ser configurados para corresponder a cada bloco.

Os prompts e mensagens do bot podem ser configurados diretamente no nó arrastando um novo bloco ou podem ser modificados no painel direito, junto com outros atributos do bloco.

Tipos de bloco: aqui estão os tipos de blocos que você pode usar com o Visual Conversation Builder.

Tipo de bloco Bloco

Início: a raiz ou o primeiro bloco do fluxo da conversa. Esse bloco também pode ser configurado de forma que o bot possa enviar uma resposta inicial (mensagem de que a intenção foi reconhecida). Para mais informações, consulte Resposta inicial.


                                    Um bloco inicial no Visual Conversation Builder

Obter valor do slot: esse bloco tenta extrair valor para um único slot. Esse bloco tem uma configuração para aguardar a resposta do cliente ao prompt de elicitação do slot. Para mais informações, consulte Slots.


                                    Um bloco inicial no Visual Conversation Builder

Condição: este bloco contém condicionais. Ele contém até 4 ramificações personalizadas (com condições) e uma ramificação padrão. Para mais informações, consulte Adicionar condições às conversas ramificadas.


                                    Um bloco de condição no Visual Conversation Builder

Hook de código de diálogo: esse bloco manipula a invocação da função do Lambda de diálogo. Esse bloco contém respostas de bots com base no sucesso, falha ou tempo limite da função do Lambda de diálogo. Para mais informações, consulte Invocar hook de código de diálogo.


                                    Um bloco hook de código no Visual Conversation Builder

Confirmação: esse bloco consulta o cliente antes do atendimento da intenção. Ele contém respostas de bots com base no cliente dizendo sim ou não ao prompt de confirmação. Para mais informações, consulte Confirmação.


                                    Um bloco de confirmação no Visual Conversation Builder

Atendimento: esse bloco trata do atendimento da intenção, geralmente após a elicitação dos slots. Ele pode ser configurado para invocar funções do Lambda, bem como responder com mensagens, se o atendimento for bem-sucedido ou falhar. Para mais informações, consulte Atendimento.


                                    Um bloco atendimento no Visual Conversation Builder

Resposta de encerramento: esse bloco permite que o bot responda com uma mensagem antes de encerrar a conversa. Para mais informações, consulte Resposta de encerramento.


                                    Um bloco de encerramento no Visual Conversation Builder

Encerrar conversa: esse bloco indica o fim do fluxo da conversa.


                                    Um bloco final no Visual Conversation Builder

Aguarde a entrada do usuário: esse bloco pode ser usado para capturar a entrada do cliente e mudar para outra intenção com base na expressão.


                                    Um bloco de espera no Visual Conversation Builder

Ir para a intenção: esse bloco pode ser usado para acessar uma nova intenção ou para obter diretamente um espaço específico dessa intenção.


                                    Um bloco de intenção no Visual Conversation Builder

Tipos de portas

Todos os blocos contêm uma porta de entrada, que é usada para conectar seus blocos principais. A conversa só pode fluir para a porta de entrada de um determinado bloco a partir da porta de saída do bloco pai. No entanto, os blocos podem conter zero, uma ou várias portas de saída. Os blocos sem nenhuma porta de saída significam o fim do fluxo de conversação na intenção atual (GoToIntent, EndConversation, WaitForUserInput).

Regras de design de intenção:

  • Todos os fluxos em uma intenção começam com o bloco inicial.

  • As mensagens correspondentes a cada ponto de saída são opcionais.

  • Você pode configurar os blocos para definir valores correspondentes a cada ponto de saída no painel de configuração.

  • Somente um único bloco de início, confirmação, atendimento e fechamento pode existir em um único fluxo dentro de uma intenção. Podem existir várias condições, hook de código de diálogo, obtenção de valores de slot, término de conversa, transferência e espera por blocos de entrada do usuário.

  • Um bloco condicional não pode ter uma conexão direta com um bloco condicional. O mesmo se aplica ao hook de código de diálogo.

  • Fluxos circulares são permitidos em três blocos, mas um conector de entrada para Iniciar intenção não é permitido.

  • Um slot opcional não tem um conector de entrada ou uma conexão de saída e é usado principalmente para capturar quaisquer dados presentes durante a elicitação da intenção. Todos os outros slots que fazem parte do caminho da conversa devem ser obrigatórios.

Blocos

  • O bloco inicial deve ter uma borda de saída.

  • Cada bloco obter valor do slot deve ter uma borda de saída da porta de sucesso, se o slot for necessário.

  • Cada bloco de condição deve ter uma borda de saída de cada ramificação se o bloco estiver ativo.

  • Um bloco condicional não pode ter mais de um pai.

  • Um bloco de condição ativo deve ter uma borda de entrada.

  • Cada bloco hook de código ativo deve ter uma borda de saída de cada porta: com êxito, com falha e tempo limite.

  • Um bloco hook de código ativo deve ter uma borda de entrada.

  • Um bloco confirmação ativo deve ter uma borda de entrada.

  • Um bloco atendimento ativo deve ter uma borda de entrada.

  • Um bloco encerramento ativo deve ter uma borda de entrada.

  • Um bloco condicional deve ter pelo menos uma ramificação não padrão.

  • Um bloco ir para intenção deve ter uma intenção especificada.

Bordas:

  • Um bloco condicional não pode estar conectado a outro bloco condicional.

  • Um bloco hook de código não pode ser conectado a outro bloco hook de código.

  • Um bloco condicional só pode ser conectado a zero ou a um bloco hook de código.

  • A conexão (hook de código -> condição -> hook de código) não é válida.

  • Um bloco atendimento não pode ter um bloco hook de código como filho.

  • Um bloco condicional, que é filho do bloco de atendimento, não pode ter um bloco hook de código como filho.

  • Um bloco encerramento não pode ter um bloco hook de código como filho.

  • Um bloco condicional que é filho do bloco de encerramento não pode ter um bloco hook de código como filho.

  • Um bloco inicial, de confirmação ou obter valor do slot não pode ter mais do que um bloco hook de código em sua cadeia de dependência.

nota

Em 17 de agosto de 2022, o Amazon Lex V2 lançou uma mudança na forma como as conversas são gerenciadas com o usuário. Essa alteração oferece mais controle sobre o caminho que o usuário percorre na conversa. Para mais informações, consulte Compreender o gerenciamento do fluxo de conversas. Os bots criados antes de 17 de agosto de 2022 não são compatíveis com mensagens de hook de código de diálogo, definição de valores, configuração das próximas etapas e adição de condições.