Criar um agente do Dialogflow ES

Use o console do Dialogflow ES para criar e testar um agente.

Antes de começar

Antes de começar, siga estas etapas:

Criar um agente

  1. Acesse o console do Dialogflow ES.
  2. Faça login no console do Dialogflow se solicitado. Para mais informações, consulte Visão geral do console do Dialogflow.
  3. No menu da barra lateral, clique em Agentes.
  4. Selecione a guia Seus agentes implantados.
  5. Clique em Criar agente.
  6. Digite o nome do agente, o idioma padrão e o fuso horário padrão.
  7. Insira um projeto. Para permitir que o console do Dialogflow crie um projeto, selecione Criar um novo projeto do Google.
  8. Clique em Criar.

Intents

Intents categorizam a intenção de um usuário final para uma conversa. Para cada agente, você define várias intents que, juntas, podem manter uma conversa do início ao fim.

Intents padrão

Quando você cria um agente, o Dialogflow cria duas intents padrão:

  • Intent de boas-vindas padrão:ela é associada quando o usuário final inicia uma conversa com seu agente. Ela retorna uma resposta que informa ao usuário final o que o agente faz ou o que ele pode dizer para iniciar uma conversa.
  • Intent de fallback padrão:ela é associada quando o agente não pode associar a expressão do usuário final a qualquer outra intent.

Para ver essas intents, acesse a lista de intents do seu agente:

  1. Acesse o console do Dialogflow ES.
  2. Selecione o agente que você criou.
  3. Clique em Intents no menu da barra lateral.

A parte central do console do Dialogflow mostra a lista de intents do agente.

Captura de tela da lista de intents

Testar a intent de fallback padrão

Captura de tela do simulador

O simulador do Dialogflow fica no lado direito do console. Com o simulador, você testa seu agente falando ou digitando mensagens.

Teste o agente agora:

  1. Clique no campo Testar agora.
  2. Digite What is your name?.
  3. Pressione Enter.

A resposta do agente é exibida na seção Resposta padrão. Como sua entrada não correspondeu a nenhuma intent, a intent de fallback padrão foi usada e você recebeu uma das respostas padrão.

Como criar uma intent

As etapas nesta seção criam uma intent que responde à pergunta "Qual é seu nome?". Para cada intent, você define várias frases de treinamento. Uma frase de treinamento é um exemplo do que um usuário final pode digitar ou dizer ao seu agente, também conhecida como expressão de usuário final. Defina frases de treinamento que ajudem o Dialogflow a corresponder expressões a uma intent.

Como criar uma intent:

  1. Clique no botão ao lado de Intents no menu da barra lateral.
  2. Insira get-agent-name no campo Nome da intent.
  3. Na seção Frases de treinamento, clique em Adicionar frases de treinamento.
  4. Digite as seguintes frases de treinamento:

    • What is your name?
    • Do you have a name?
    • Tell me your name

    Captura de tela de frases de treinamento

  5. Na seção Respostas, digite o seguinte na seção Resposta de texto:

    • My name is Dialogflow!

    Captura de tela de frases de treinamento

  6. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

Testar a intent

Captura de tela do simulador

No simulador, digite What's your name? e pressione Enter.

O agente responde à expressão corretamente, mesmo que ela seja um pouco diferente das frases de treinamento fornecidas.

O Dialogflow usa frases de treinamento como exemplos para um modelo de machine learning que faz a correspondência entre as expressões dos usuários finais e as intents. O modelo compara a expressão com todas as intents do agente, atribui uma pontuação a cada uma e faz a correspondência com a intent de maior pontuação. Se a pontuação for muito baixa, a correspondência será feita com a intent de retorno.

Parâmetros e entidades

Quando uma intent é correspondida no ambiente de execução, o Dialogflow fornece os valores extraídos da expressão do usuário final como parâmetros. Cada parâmetro tem um tipo, chamado de tipo de entidade, que dita exatamente como os dados são extraídos. Ao contrário da entrada bruta do usuário final, os parâmetros são dados estruturados que podem ser facilmente usados para executar uma lógica ou gerar respostas.

Para controlar como os dados são extraídos ao criar um agente, anote partes das frases de treinamento e configure os parâmetros associados.

Crie parâmetros

Crie parâmetros de intent:

  1. Clique no botão de adição ao lado de Intents no menu da barra lateral.
  2. Nomeie a intent set-language na parte superior do formulário de intent.
  3. Adicione as frases de treinamento a seguir:
    • I know English
    • I speak French
    • I know how to write in German
  4. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

    Captura de tela da frase de treinamento anotado

O Dialogflow detecta automaticamente os parâmetros nas frases de treinamento que são reconhecidos como entidades do sistema. Elas são entidades fornecidas pelo Dialogflow para muitos tipos de dados comuns, como local, cor e data.

Depois de adicionar frases de treinamento, o Dialogflow cria uma linha na tabela Ação e parâmetros:

Captura de tela da frase de treinamento anotado

  • Obrigatório:não marcado. Esse parâmetro é opcional.
  • Nome do parâmetro:automaticamente chamado de language porque é reconhecido como um idioma.
  • Entidade:reconhecida como uma entidade do sistema @sys.language.
  • Valor:o identificador usado ao fazer referência ao valor deste parâmetro.
  • É lista:não marcada. Esse parâmetro não é uma lista.

Usar dados de parâmetro em uma resposta

É possível usar o valor de um parâmetro nas respostas. Por exemplo, use a referência de parâmetro $language nas suas respostas ao criar um agente. No ambiente de execução, o agente substitui esse parâmetro pelo idioma especificado na expressão do usuário final.

Adicione uma resposta que use um parâmetro:

  1. Acesse a seção Respostas.
  2. Na seção Resposta de texto, adicione o seguinte: Wow! I didn't know you knew $language.
  3. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

Testar o parâmetro

Captura de tela do simulador

No simulador, digite I know Russian. O Dialogflow extrai corretamente o parâmetro language com o valor Russian, e Russian foi inserido corretamente onde a referência de parâmetro foi usada na resposta.

Criar as próprias entidades

Na maioria dos casos, você precisa coletar dados específicos dos usuários que não são fornecidos pelas entidades do sistema. Crie entidades personalizadas para lidar com isso.

Crie uma entidade personalizada:

  1. Clique no botão ao lado de Entidades no menu da barra lateral para adicionar uma entidade.
  2. Insira language-programming como o nome da entidade.
  3. Adicione as entradas de entidade (linhas) a seguir:

    Valor de referência Sinônimos
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

Captura de tela do uso da entidade

O Dialogflow consegue processar casos simples, como plural e maiúsculas. Adicione todos os sinônimos possíveis para suas entradas. Quanto mais sinônimos você adicionar, melhor será a capacidade do agente de identificar as entidades.

Usar a entidade nova

Adicione frases de treinamento à intent set-language que usa a nova entidade:

  1. Clique em Intents no menu da barra lateral.
  2. Clique na intent set-language.
  3. Adicione as frases de treinamento a seguir:
    • I know javascript
    • I know how to code in Java
  4. As linguagens de programação nessas frases de treinamento são anotadas automaticamente e adicionadas aos parâmetros na seção Ação e parâmetros.
  5. Na seção Respostas, adicione a segunda resposta de texto a seguir: $language-programming is an excellent programming language.
  6. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

Testar sua nova entidade

Captura de tela do simulador

No simulador, digite I know how to code in py. O Dialogflow extrai corretamente py para o parâmetro language-programming, identifica como a entidade Python e insere o valor na resposta.

Contextos

Para controlar o fluxo da conversa, é possível usar contextos.

Adicionar uma intent de continuidade

Com as intents de continuidade, é possível controlar uma conversa sem criar e gerenciar contextos manualmente.

Ao criar uma intent de continuidade, um contexto de saída é adicionado à intent pai e um contexto de entrada com o mesmo nome é adicionado à intent filho. Isso significa que a intent de continuidade só é correspondida quando a intent pai é correspondida na conversa anterior.

Adicione uma intent de continuidade personalizada à intent set-language:

  1. Selecione a intent set-language criada nas etapas anteriores.
  2. Na seção Resposta, atualize a resposta de texto:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.
  4. Clique em Intents no menu da barra lateral.
  5. Aponte o cursor para a intent set-language e clique em Adicionar intent de continuidade.
  6. Clique em Personalizada na lista.
  7. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

O Dialogflow nomeia automaticamente a intent de continuidade set-language - custom.

Captura de tela de acompanhamento

Correspondência com intents de continuidade

As intents de continuidade só são correspondidas depois da intent principal. Como a intent set-language - custom só é correspondida depois da intent set-language, o usuário acabou de receber a pergunta "Há quanto tempo você sabe $language?". Adicione frases de treinamento para possíveis respostas do usuário a essa pergunta:

  1. Clique em Intents no menu da barra lateral.
  2. Clique na intent set-language - custom.
  3. Adicione as frases de treinamento a seguir:
    • 3 years
    • about 4 days
    • for 5 years
  4. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

Testar a intent de continuidade

Insira I know French no simulador e responda à pergunta How long have you known French com about 2 weeks.

Embora não haja resposta para a segunda expressão (about 2 weeks), perceba que a expressão corresponde à intenção correta (set-language - custom), e o parâmetro "duration" foi analisado corretamente (2 weeks).

Intents e contextos

Analise a intent set-language para ver set-language-followup listado como um contexto de saída precedido pelo número 2. Esse número é chamado de vida útil.

Captura de tela do contexto de saída

Depois que a intent set-language é correspondida, o contexto set-language-followup fica ativo e vinculado à conversa para ser usado duas vezes (vida útil: 2). Portanto, quando você responde a uma pergunta como How long have you known $language?, o contexto set-language-followup fica ativo.

Analise a intent set-language - custom para ver que set-language-followup está listado como um contexto de entrada, que é o mesmo que o contexto de saída para a intent set-language.

Todas as intents com contexto de entrada correspondente a um contexto ativo são priorizadas quando o Dialogflow corresponde a intents.

Contextos e parâmetros

Os contextos armazenam valores de parâmetro, e é possível acessar os valores definidos na intent set-language quando o contexto de saída está ativo. Na intent set-language - custom, você perguntou apenas a duração do conhecimento do usuário sobre o idioma, e não o próprio idioma referenciado.

Para mencionar a linguagem na resposta:

  1. Atualize a resposta de texto da intent set-language - custom para I can't believe you've known #set-language-followup.language for $duration!
  2. Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.

A referência #set-language-followup.language é uma referência de parâmetro para um contexto ativo.

Testar o parâmetro de contexto

Insira I know French no simulador e responda à pergunta com 1 week. O valor do parâmetro language é recuperado do contexto.

Produção

Antes de executar seu agente na produção, implemente as práticas recomendadas de produção.

A seguir

Confira o guia de início rápido de atendimento.