As intents têm um gerenciador de respostas integrado que pode retornar respostas depois de a correspondência ser feita. Esse recurso suporta apenas respostas estáticas, mas basta usar referências de parâmetros nelas para torná-las dinâmicas. Isso é útil para recapitular as informações fornecidas pelo usuário final. Por exemplo, a resposta da intent poderia ser: "Ok, reservei um quarto para você para $date".
Em alguns casos, isso é tudo de que você precisa. Caso seu código precise realizar alguma ação ou criar uma resposta mais dinâmica, use uma das opções de resposta dinâmica abaixo. Os agentes costumam usar uma combinação de respostas estáticas e dinâmicas.
Vários tipos de respostas podem ser fornecidos. O tipo de resposta básico é uma resposta de texto. Outros tipos de respostas estão disponíveis (imagem, áudio, fala sintetizada etc.), sendo alguns específicos da plataforma.
Se você definir mais de uma variação de resposta para uma intent, o agente selecionará uma resposta aleatoriamente. Adicione diversas variações de resposta para que o agente converse mais naturalmente.
Ao criar um agente, forneça dados de resposta para cada intent. Quando você usa a API ou o fulfillment para interagir com o Dialogflow, tecnicamente pode não ser necessário fornecer dados de resposta, porque esses dois métodos podem gerar qualquer resposta de forma dinâmica. No entanto, se você quiser usar o simulador para realizar testes ou quiser definir intents que tenham uma resposta simples, forneça os dados de resposta.
Como regra geral, suas respostas de intent precisam solicitar que o usuário final forneça uma expressão correspondente a outra intent. Suas respostas também precisam orientar o usuário final a fornecer dados específicos. Por exemplo, uma pergunta como "Em que cidade você nasceu?" é melhor do que uma pergunta mais aberta, como "Onde você nasceu?".
Onde encontrar esses dados
Ao criar um agente, o mais comum é usar o Console do Dialogflow ES. Acesse a documentação e abra o Console (em inglês). As instruções abaixo referem-se ao uso do Console. Para acessar os dados de resposta de intent:
- Acesse o Console do Dialogflow ES.
- Selecione um agente.
- Selecione Intents no menu da barra lateral à esquerda.
- Selecione uma intent.
- Role a tela para baixo até a seção Respostas.
Se você estiver usando a API em vez do Console para criar um agente, consulte a referência de intents. Os nomes de campo da API são semelhantes aos nomes de campo do Console. As instruções abaixo destacam as diferenças importantes entre o Console e a API.
Plataformas de resposta
Cada resposta é definida para a plataforma padrão (chamada de PLATFORM_UNSPECIFIED
na API) ou para uma plataforma de integração específica.
Se você não estiver usando uma integração, todas as suas respostas poderão usar a plataforma padrão.
Mas se estiver, cada integração pode ter uma única resposta ou ser configurada para usar a resposta padrão.
Saiba mais sobre respostas específicas da plataforma em Mensagens de resposta avançadas.
Criar respostas integradas
Para criar respostas integradas, siga estas etapas:
- Selecione Padrão ou uma plataforma específica.
- Se o tipo de resposta desejado (como Resposta de texto) ainda não estiver listado, clique em Adicionar respostas e selecione-o.
- Insira as informações necessárias para a resposta.
- Clique em Save.
Respostas dinâmicas com fulfillment
Usando o fulfillment, você pode criar respostas dinâmicas. Veja os documentos de fulfillment para saber mais.
Respostas dinâmicas com a API
Usando a API, você pode criar respostas dinâmicas. Consulte a visão geral da API para saber mais.
Caracteres especiais
Alguns caracteres especiais exigem escape na sua resposta.
Para usar o cifrão $
ou o sinal numérico #
em uma resposta, adicione chaves {}
em torno do conteúdo imediatamente posterior ao caractere especial.
Exemplo:
${100}
se refere a$100
;${$number}
se refere a$100
, em que$number
é uma referência de parâmetro com um valor de 100;#{hello}
se refere a#hello
.
Para usar chaves {}
em uma resposta, use chaves duplas.
Exemplo:
{{hello}}
se refere a{hello}
.
Como gerenciar valores de parâmetro vazios
Se sua intent tiver um parâmetro que possa ser gerado como um valor vazio, forneça pelo menos uma variante de resposta que não use esse parâmetro.
Por exemplo, se sua intent tiver dois parâmetros, p1
e p2
, e um deles ou ambos estiverem vazios, será necessário fornecer pelo menos quatro variantes de resposta:
- Entendi. Você disse $p1 e $p2.
- Entendi. Você disse $p1.
- Entendi. Você disse $p2.
- Entendi.