Criar um agente do Dialogflow ES
Este guia mostra como usar o Console do Dialogflow para criar e testar um agente simples.
Antes de começar
Faça o seguinte antes de ler este guia:
- Leia os Conceitos básicos do Dialogflow.
- Execute as etapas de configuração.
Criar um agente
Se você ainda não criou um agente, crie um agora:
- Acesse o console do Dialogflow ES.
- Se solicitado, faça login no Console do Dialogflow. Para mais informações, consulte a Visão geral do Console do Dialogflow.
- Clique em Criar agente no menu da barra lateral à esquerda. Se você já tiver outros agentes, clique no nome do agente, role até a parte inferior da página e clique em Criar novo agente.
- Digite o nome do agente, o idioma padrão e o fuso horário padrão.
- Se você já tiver criado um projeto, insira-o. Se você quiser permitir que o Console do Dialogflow crie o projeto, selecione Criar um novo projeto do Google.
- Clique no botão Criar.
Importar o arquivo de exemplo para seu agente
As etapas deste guia fazem considerações sobre o agente. Portanto, você precisa importar um agente preparado para este guia. Ao importar, essas etapas usam a opção restaurar, que substitui todas as configurações, intents e entidades do agente.
O agente preparado para este guia é um novo agente, sem intents ou entidades definidas pelo usuário.
Para importar o arquivo, siga estas etapas:
- Faça o download do arquivo
new-agent.zip
. - Acesse o console do Dialogflow ES.
- Selecione seu agente.
- Clique no botão de configurações settings ao lado do nome do agente.
- Selecione a guia Exportar e importar.
- Selecione Restaurar do zip e siga as instruções para restaurar o arquivo zip que você baixou.
Intents
Intents categorizam a intenção de um usuário final para uma conversa. Para cada agente, você define muitas intents, em que essa combinação de intents pode processar uma conversa completa.
Intents padrão
Quando você cria um agente, duas intents padrão são criadas:
- Intent de boas-vindas padrão: essa intent é associada quando o usuário final conversa com seu agente. Ela retorna uma resposta que permite que o usuário final saiba o que seu agente faz ou o que ele pode dizer para iniciar uma conversa.
- Intent de fallback padrão: essa intent é 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:
- Acesse o console do Dialogflow ES.
- Selecione o agente recém-criado.
- Clique em Intents no menu da barra lateral esquerda.
A parte central do Console mostra a lista de intents do agente.
Testar a intent de fallback padrão
O simulador Dialogflow fica no lado direito do Console. Com o ele, você testa seu agente falando ou digitando mensagens.
Teste o agente agora:
- Clique no campo Testar agora.
- Digite
What is your name?
. - 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.
Criar uma intent nova
As etapas nesta seção criam uma intent que pode responder à 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. É necessário definir várias frases de treinamento que forneçam ao Dialogflow uma variedade de expressões que correspondam a uma intenção.
Como criar uma intent:
- Clique no botão ao lado de Intents no menu da barra lateral esquerda para adicionar uma intent.
- Insira
get-agent-name
no campo Nome da intent. - Na seção Frases de treinamento, clique em Adicionar frases de treinamento.
Digite as frases de treinamento a seguir e pressione Enter após cada entrada:
What is your name?
Do you have a name?
Tell me your name
Na seção Respostas, digite o seguinte na seção Resposta de texto:
My name is Dialogflow!
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
No simulador, digite What's your name?
e pressione Enter.
Seu 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 em um modelo de machine learning para corresponder expressões de usuários finais às intents. O modelo compara a expressão a cada intent no agente e dá a cada intent uma pontuação. Aquela que tiver a maior pontuação é correspondida. Se a intent de maior pontuação ainda assim tiver uma pontuação muito baixa, a correspondência será feita com a intent de fallback.
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.Ao criar um agente, você controla como os dados são extraídos anotando partes das frases de treinamento e configurando os parâmetros associados.
Crie parâmetros
Crie uma nova intent com parâmetros:
- Clique no botão de adição ao lado de Intents no menu da barra lateral esquerda.
- Nomeie a intent
set-language
na parte superior do formulário de intent. - Adicione as frases de treinamento a seguir:
I know English
I speak French
I know how to write in German
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 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.
Abaixo da seção Frases de treinamento, o Dialogflow cria uma linha na tabela Ação e parâmetros:
- Obrigatório: a caixa de seleção não está marcada, portanto, este parâmetro é opcional.
- Nome do parâmetro: esse parâmetro é automaticamente chamado de
language
, porque o parâmetro é reconhecido como um idioma. - Entidade: é o tipo de entidade. Ele é reconhecido como uma entidade de sistema
@sys.language
. - Valor: este é o identificador usado ao fazer referência ao valor deste parâmetro.
- É lista: a caixa de seleção não está marcada, portanto, o 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, esse parâmetro será substituído pelo idioma especificado na expressão do usuário final.
Adicione uma resposta que use um parâmetro:
- Role a tela para baixo até a seção Respostas.
- Adicione a seguinte resposta de texto:
Wow! I didn't know you knew $language.
- 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
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ê tem dados específicos que precisa coletar de usuários que não são fornecidos por entidades do sistema. Crie entidades personalizadas para lidar com isso.
Crie uma entidade personalizada:
- Clique no botão ao lado de Entidades no menu da barra lateral esquerda para adicionar uma entidade.
- Insira
language-programming
como o nome da entidade. Adicione as entradas de entidade (linhas) a seguir:
Valor de referência Sinônimos JavaScript JavaScript, js, ECMAScript Java Java Python Python, py 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 consegue processar questões simples como diferenças de plural/singular e maiúsculas/minúsculas, mas insira todos os sinônimos possíveis nas entradas. Quanto mais sinônimos você adicionar, melhor será a capacidade do agente de determinar as entidades.
Usar a entidade nova
Adicione frases de treinamento à intent set-language
que usa a nova entidade:
- Clique em Intents no menu da barra lateral esquerda.
- Clique na intent
set-language
. - Adicione as frases de treinamento a seguir:
I know javascript
I know how to code in Java
- 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.
- Na seção Respostas, adicione a segunda resposta de texto a seguir:
$language-programming is an excellent programming language.
. - 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
No simulador, digite I know how to code in py
.
Observe que o Dialogflow extraiu corretamente py
para o parâmetro language-programming
, depois o identificou como a entidade Python
e inseriu o valor na resposta.
Contextos
Para controlar o fluxo da conversa, é possível usar um contexto.
Adicionar uma intent de continuidade
As intents de continuidade são uma opção simples para controlar uma conversa sem a necessidade de 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 correspondência com a intent de continuidade é feita somente quando a intent pai é correspondida na conversa anterior.
Adicione uma intent de continuidade personalizada à intent set-language
:
- Selecione a intent
set-language
criada nas etapas anteriores. - Na seção Resposta, atualize a resposta de texto:
Wow! I didn't know you knew $language. How long have you known $language?
- Clique no botão Salvar e aguarde até que a caixa de diálogo Treinamento do agente indique que o treinamento foi concluído.
- Clique em Intents no menu da barra lateral esquerda.
- Passe o cursor sobre a intent
set-language
e clique em Adicionar intent de continuidade. - Clique em Personalizada na lista revelada.
- 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
.
Correspondência com intents de continuidade
A correspondência com intents de continuidade é feita apenas após a correspondência com a intent pai.
Como a intent set-language - custom
só é correspondida após a intent set-language
, talvez o usuário tenha acabado de fazer a pergunta How long have you known $language?
.
Agora, adicione frases de treinamento para respostas prováveis do usuário a essa pergunta:
- Clique em Intents no menu da barra lateral esquerda.
- Clique na intent
set-language - custom
. - Adicione as frases de treinamento a seguir:
3 years
about 4 days
for 5 years
- 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
Digite 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 e precedido pelo número 2.
Esse número é chamado de vida útil.
Depois da correspondência da intent set-language
, o contexto set-language-followup
fica ativo e vinculado à conversa para ser usado duas vezes (vida útil: 2).
Portanto, quando o usuário responde à pergunta, How long have you known $language?
, o contexto set-language-followup
fica ativo.
Analise a intent set-language - custom
para ver set-language-followup
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 muito favorecidas quando o Dialogflow corresponde a intents.
Contextos e parâmetros
Os contextos armazenam valores de parâmetro, e é possível acessar os valores dos parâmetros definidos na intent set-language
quando o contexto de saída estiver 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:
- Atualize a resposta de texto da intent
set-language - custom
paraI can't believe you've known #set-language-followup.language for $duration!
- 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
é conhecida como 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
.
Observe que o valor do parâmetro language
é recuperado a partir do contexto.
Produção
Antes de executar seu agente na produção, implemente as práticas recomendadas de produção.
A seguir
Teste o guia de início rápido de fulfillment.