Crie um agente do Dialogflow ES
Este guia mostra como usar a Dialogflow Console para criar e testar um agente simples.
Antes de começar
Antes de ler este guia, deve fazer o seguinte:
- Leia as noções básicas do Dialogflow.
- Realize os passos de configuração.
Crie um agente
Se ainda não tiver criado um agente, crie um agora:
- Aceda à consola do Dialogflow ES.
- Se lhe for pedido, inicie sessão na consola do Dialogflow. Consulte a vista geral da consola do Dialogflow para mais informações.
- Clique em Criar agente no menu da barra lateral esquerda. (Se já tiver outros agentes, clique no nome do agente, desloque a página para baixo e clique em Criar novo agente.)
- Introduza o nome do agente, o idioma predefinido e o fuso horário predefinido.
- Se já tiver criado um projeto, introduza esse projeto. Se quiser permitir que a consola do Dialogflow crie o projeto, selecione Criar um novo projeto Google.
- Clique no botão Criar.
Importe o ficheiro de exemplo para o seu agente
Os passos neste guia baseiam-se em pressupostos sobre o seu agente. Por isso, tem de importar um agente preparado para este guia. Quando importa, estes passos usam a opção restaurar, que substitui todas as definições, intenções e entidades do agente.
O agente preparado para este guia é um novo agente, sem intenções nem entidades definidas pelo utilizador.
Para importar o ficheiro, siga estes passos:
-
Transfira o ficheiro
new-agent.zip
. - Aceda à consola do Dialogflow ES.
- Selecione o seu agente.
- Clique no botão Definições settings junto ao nome do agente.
- Selecione o separador Exportar e importar.
- Selecione Restaurar do ZIP e siga as instruções para restaurar o ficheiro ZIP que transferiu.
Intenções
Intenções categorizam a intenção de um utilizador final para uma interação de conversa. Para cada agente, define muitas intenções, em que as suas intenções combinadas podem processar uma conversa completa.
Intenções predefinidas
Quando cria um agente, são criadas duas intenções predefinidas para si:
- Intenção de boas-vindas predefinida: esta intenção é correspondida quando o utilizador final inicia uma conversa com o seu agente. Este objetivo deve devolver uma resposta que informe o utilizador final sobre o que o seu agente faz ou o que pode dizer para iniciar uma conversa.
- Intenção alternativa predefinida: esta intenção é correspondente quando o agente não consegue fazer corresponder a expressão do utilizador final a qualquer outra intenção.
Para ver estas intenções, aceda à lista de intenções do seu agente:
- Aceda à consola do Dialogflow ES.
- Selecione o agente que acabou de criar.
- Clique em Intenções no menu da barra lateral esquerda.
A parte central da consola mostra a lista de intenções do agente.
Teste a intenção alternativa predefinida
O simulador do Dialogflow encontra-se no lado direito da consola. Com o simulador, pode testar o seu agente falando ou escrevendo mensagens.
Experimente o agente agora:
- Clique no campo Experimentar agora.
- Escreva
What is your name?
. - Prima Enter.
A resposta do agente aparece na secção Resposta predefinida. Uma vez que a sua entrada não correspondeu a nenhuma intenção, a intenção de recurso predefinida foi correspondida, e recebeu uma das respostas predefinidas.
Crie uma nova intenção
Os passos nesta secção criam uma intenção que pode responder à pergunta "qual é o seu nome?". Para cada intenção, define muitas expressões de preparação. Uma frase de preparação é um exemplo do que um utilizador final pode escrever ou dizer ao seu agente, também conhecida como expressão do utilizador final. Deve definir muitas expressões de preparação que forneçam ao Dialogflow uma variedade de expressões que devem corresponder a uma intenção.
Crie uma intenção:
- Clique no botão de adição de intenção junto a Intenções no menu da barra lateral esquerda.
- Introduza
get-agent-name
no campo Nome da intenção. - Na secção Frases de treino, clique em Adicionar frases de treino.
Introduza as seguintes expressões de treino e prima Enter após cada entrada:
What is your name?
Do you have a name?
Tell me your name
Na secção Respostas, introduza o seguinte na secção Resposta de texto:
My name is Dialogflow!
Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
Teste a sua intenção
No simulador, escreva What's your name?
e prima Enter.
O seu agente responde corretamente à expressão, mesmo que a expressão seja ligeiramente diferente das frases de preparação que forneceu.
O Dialogflow usa expressões de preparação como exemplos para um modelo de aprendizagem automática fazer corresponder as expressões do utilizador final a intenções. O modelo verifica a expressão em relação a cada intenção no agente, atribui uma pontuação a cada intenção e a intenção com a pontuação mais alta é correspondida. Se a intenção com a pontuação mais elevada tiver uma pontuação muito baixa, a intenção alternativa é correspondida.
Parâmetros e entidades
Quando uma intenção é correspondida no tempo de execução, o Dialogflow fornece os valores extraídos da expressão do utilizador final como parâmetros. Cada parâmetro tem um tipo, denominado tipo de entidade, que determina exatamente como os dados são extraídos. Ao contrário da entrada bruta do utilizador final, os parâmetros são dados estruturados que podem ser facilmente usados para realizar alguma lógica ou gerar respostas.Quando cria um agente, controla a forma como os dados são extraídos anotando partes das suas expressões de preparação e configurando os parâmetros associados.
Crie parâmetros
Crie uma nova intenção com parâmetros:
- Clique no botão de mais junto a Intenções no menu da barra lateral esquerda.
- Dê um nome à intenção
set-language
na parte superior do formulário de intenção. - Adicione as seguintes expressões de treino:
I know English
I speak French
I know how to write in German
Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
O Dialogflow deteta automaticamente parâmetros em expressões de preparação que são reconhecidos como entidades do sistema. Estas são entidades fornecidas pelo Dialogflow para muitos tipos de dados comuns, como localização, cor e data.
Abaixo da secção Frases de preparação, o Dialogflow cria uma linha na tabela Ação e parâmetros:
- Obrigatório: a caixa de verificação não está selecionada, pelo que este parâmetro é opcional.
- Nome do parâmetro: este parâmetro é automaticamente denominado
language
, porque o parâmetro é reconhecido como um idioma. - Entidade: este é o tipo de entidade. É reconhecida como uma entidade do sistema
@sys.language
. - Valor: este é o identificador que usa quando faz referência ao valor deste parâmetro.
- É lista: a caixa de verificação não está selecionada, pelo que o parâmetro não é uma lista.
Use dados de parâmetros numa resposta
O valor de um parâmetro pode ser usado nas suas respostas.
Por exemplo, pode usar a $language
referência de parâmetros
nas suas respostas quando cria um agente.
No tempo de execução, é substituído pelo idioma especificado na expressão do utilizador final.
Adicione uma resposta que use um parâmetro:
- Desloque a página para baixo até à secção Respostas.
- Adicione a seguinte resposta de texto:
Wow! I didn't know you knew $language.
- Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
Teste o parâmetro
No simulador, introduza I know Russian
.
Pode ver que o Dialogflow extrai corretamente o parâmetro language
com o valor Russian
e que Russian
foi inserido corretamente onde a referência do parâmetro foi usada na resposta.
Crie as suas próprias entidades
Na maioria dos casos, tem dados específicos que precisa de recolher dos utilizadores que não são fornecidos por entidades do sistema. Pode criar entidades personalizadas para resolver esta situação.
Crie uma entidade personalizada:
- Clique no botão adicionar entidade junto a Entidades no menu da barra lateral esquerda.
- Introduza
language-programming
para o nome da entidade. Adicione as seguintes entradas de entidades (linhas):
Valor de referência Sinónimos JavaScript JavaScript, js, ECMAScript Java Java Python Python, py Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
O Dialogflow pode processar coisas simples, como pluralidade e capitalização, mas deve adicionar todos os sinónimos possíveis para as suas entradas. Quanto mais adicionar, melhor o seu agente consegue determinar as suas entidades.
Use a nova entidade
Adicione expressões de treino à intenção set-language
que usam a nova entidade:
- Clique em Intenções no menu da barra lateral esquerda.
- Clique na intenção
set-language
. - Adicione as seguintes expressões de treino:
I know javascript
I know how to code in Java
- Tenha em atenção que as linguagens de programação nestas expressões de exemplo são anotadas automaticamente e adicionadas aos parâmetros na secção Ação e parâmetros.
- Na secção Respostas, adicione a seguinte segunda resposta de texto:
$language-programming is an excellent programming language.
. - Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
Teste a sua nova entidade
No simulador, introduza I know how to code in py
.
Pode ver que o Dialogflow extraiu corretamente py
para o parâmetro language-programming
,
identificou-o como a entidade Python
e inseriu o valor na resposta.
Contextos
Para controlar o fluxo da conversa, pode usar o contexto.
Adicione uma intenção de seguimento
Os intents de seguimento oferecem uma forma simples de controlar uma conversa sem ter de criar e gerir contextos manualmente.
Quando cria uma intenção de seguimento, é adicionado um contexto de saída à intenção principal e um contexto de entrada com o mesmo nome é adicionado à intenção secundária. Isto significa que a intenção de seguimento só tem correspondência quando a intenção principal tem correspondência na interação de conversa anterior.
Adicione uma intenção de seguimento personalizada à intenção set-language
:
- Selecione a intenção
set-language
que criou nos passos anteriores. - Na secçã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 Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
- Clique em Intenções no menu da barra lateral esquerda.
- Passe o cursor do rato sobre a intenção
set-language
e clique em Adicionar intenção de seguimento. - Clique em personalizado na lista revelada.
- Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
O Dialogflow atribui automaticamente o nome set-language - custom
à intenção de seguimento.
Correspondência de intenções com intenções de seguimento
As intenções de seguimento só são correspondidas depois de a intenção principal ter sido correspondida.
Uma vez que a intenção set-language - custom
só é correspondida
depois da intenção set-language
,
pode assumir que acabou de ser feita a pergunta ao utilizador
How long have you known $language?
.
Agora, pode adicionar expressões de preparação para as respostas prováveis dos utilizadores a essa pergunta:
- Clique em Intenções no menu da barra lateral esquerda.
- Clique na intenção
set-language - custom
. - Adicione as seguintes expressões de treino:
3 years
about 4 days
for 5 years
- Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
Teste a sua intenção de seguimento
Introduza I know French
no simulador e, em seguida, responda à pergunta How long have you known French
com about 2 weeks
.
Apesar de não haver resposta para a segunda expressão (about 2 weeks
),
pode ver que a expressão corresponde à intenção correta
(set-language - custom
)
e o parâmetro de duração é analisado corretamente (2 weeks
).
Intenções e contextos
Inspeccione a intenção set-language
para ver que set-language-followup
está listado como um contexto de saída
e é precedido pelo número 2.
Este número chama-se
tempo de vida.
Depois de a intenção set-language
ser correspondida, o contexto set-language-followup
está ativo e associado à conversa durante dois turnos (duração de 2).
Por conseguinte, quando o utilizador responde à pergunta,
How long have you known $language?
,
o contexto set-language-followup
está ativo.
Inspeccione a intenção set-language - custom
para ver que set-language-followup
está listada como um contexto de entrada, que é o mesmo que o contexto de saída para a intenção set-language
.
Todas as intenções com um contexto de entrada que corresponda a um contexto ativo são fortemente favorecidas quando o Dialogflow faz corresponder intenções.
Contextos e parâmetros
Os contextos armazenam valores de parâmetros e pode aceder aos valores dos parâmetros definidos na intenção set-language
quando o respetivo contexto de saída está ativo.
No set-language - custom
intento,
só pediu a duração durante a qual o utilizador conhece o idioma,
e não o próprio idioma referenciado.
Para fazer referência ao idioma na resposta:
- Atualize a resposta de texto da intenção
set-language - custom
paraI can't believe you've known #set-language-followup.language for $duration!
- Clique no botão Guardar e aguarde até que a caixa de diálogo Formação de agentes indique que a formação está concluída.
A referência #set-language-followup.language
é conhecida como uma referência de parâmetro para um contexto ativo.
Teste o parâmetro de contexto
Introduza I know French
no simulador
e, em seguida, responda à pergunta com 1 week
.
Repare que o valor do parâmetro language
é obtido a partir do contexto.
Produção
Antes de executar o seu agente em produção, certifique-se de que implementa as práticas recomendadas de produção.
O que se segue?
Experimente o início rápido de processamento.