arrow_back

Como criar o fulfillment do agente virtual

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Como criar o fulfillment do agente virtual

Lab 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP792

Laboratórios autoguiados do Google Cloud

Visão geral

Neste laboratório, você continuará trabalhando no agente virtual Pigeon Travel que criou em "Como projetar fluxos de conversa para seu agente", adicionará contexto a ele e definirá o fulfillment para pesquisar e armazenar entradas de reservas no Firestore.

Observação: você vai precisar do arquivo ZIP do agente que exportou do laboratório "Como projetar fluxos de conversa para seu agente". Sem ele, será necessário recriar todas as intents e entidades do laboratório "Como projetar fluxos de conversa para seu agente".

Conteúdo

Neste laboratório, você executará as seguintes tarefas:

  • Criar uma coleção do Firestore
  • Configurar o fulfillment como código do Cloud Functions para que o agente consiga pesquisar e mudar o nome na reserva

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Tarefa 1: ativar a API

  1. No console do Cloud acesse Menu de navegação (Ícone do menu de navegação) > APIs e serviços > Ativar APIs e serviços.

  2. Clique em Ativar APIs e serviços.

  3. Pesquise Dialogflow.

  4. Clique no bloco API Dialogflow. Se a API não estiver ativada, clique em Ativar.

Tarefa 2: criar seu agente do Dialogflow

Chame-o de "pigeon-travel".

  1. Acesse o Console do Dialogflow.

  2. Faça login com o botão do Google e selecione as credenciais que você usou para acessar este laboratório. Depois clique em Allow.

  3. Desmarque a caixa de seleção das preferências de e-mail e marque a dos Termos de Serviço. Clique em Aceitar.

  4. No menu à esquerda, clique em Criar agente.

  5. Adicione as informações do agente como descrito abaixo:

  • Nome do agente: pigeon-travel
  • Fuso horário padrão: America/Denver
  • Projeto do Google: use o ID do projeto do laboratório
  1. Clique em Criar.

Clique em Verificar meu progresso para conferir o objetivo. Crie o agente do Dialogflow

Tarefa 3: importar o agente do Dialogflow

No laboratório anterior, você criou e exportou um agente do Dialogflow. Agora você importará o agente para aprimorá-lo.

Um novo projeto de agente virtual será criado. Importe seu trabalho.

  • Se você não tiver os arquivos exportados, use este:
https://storage.cloud.google.com/qwiklabs-resources-ccai-quest/pigeon-travel-gsp-792.zip
  • Faça o download do arquivo para sua estação de trabalho local.
  1. Clique no ícone de engrenagem Ícone de engrenagem das configurações ao lado do nome do agente para ver as configurações.

  2. Selecione a guia Exportar e importar.

Página com a guia "Exportar e importar"

  1. Clique em Importar de arquivo Zip.

  2. Clique em Selecionar arquivo e navegue até o arquivo ZIP que contém a configuração do seu agente virtual. Se preferir, arraste e solte o arquivo.

  3. Digite a palavra IMPORTAR em letras maiúsculas para ativar o botão de importação e clique em Importar.

Faça o upload da página do agente

  1. Depois que a importação for concluída, clique em Concluído para fechar a janela de upload.

A configuração foi importada para seu novo projeto de agente.

Clique em Verificar meu progresso para conferir o objetivo. Importe o agente do Dialogflow

Tarefa 4: configurar o fulfillment usando o Cloud Functions para pesquisar reservas no Firestore

Até agora, o agente conseguiu se comunicar com um cliente para receber informações, incluindo o número da reserva. No entanto, as informações coletadas não são verificadas ou gravadas para permitir uma ação posterior. Nesta seção, você definirá o fulfillment adicionando e implantando o código do arquivo Node.js como uma função do Cloud. Seu agente usará o código para pesquisar a reserva atual e fazer a alteração.

Configure o Firestore

  1. No console, acesse Menu de navegação > Bancos de dados > Firestore.

  2. Você terá duas opções: "Modo nativo" e "Modo do Datastore". Clique em Selecionar Modo nativo.

  3. Para o local, selecione nam5 (United States).

  4. Clique em Criar banco de dados. Quando ele estiver pronto, você poderá criar uma nova coleção.

  5. Clique em Iniciar coleção.

  6. Preencha os detalhes para replicar os dados listados abaixo e depois clique em Salvar.

  • ID da coleção: reservations

  • ID do documento: 100

  • Nome do campo: fname

  • Tipo de campo: string

  • Valor do campo: Isabel

  1. Clique no botão + para adicionar outro:
  • Nome do campo: lname
  • Tipo de campo: string
  • Valor do campo: Costa
  1. Clique no botão + para adicionar outro:
  • Nome do campo: newname
  • Tipo de campo: string
  • Valor do campo:

Você acabou de adicionar seu primeiro documento a uma coleção do Firestore.

Práticas recomendadas para IDs de documentos do Firestore

  • Os caracteres . e ... não podem ser IDs de documentos.

  • Evite usar / (barras) em IDs de documentos.

  • Não use IDs de documento que aumentam constantemente, como estes:

    • Cliente1, Cliente2, Cliente3,…
    • Produto 1, Produto 2, Produto 3,…

    Esses IDs sequenciais podem resultar em pontos de acesso que afetam a latência.

Fulfillment do Dialogflow

  1. Clique em Fulfillment no menu à esquerda. Pode levar alguns minutos para os recursos serem provisionados.

  2. Ao lado da opção Editor in-line, mova o controle deslizante para a posição Ativada à direita. Essa opção ativa o editor do Cloud Functions dentro do agente do Dialogflow.

Observação: se você receber uma mensagem de erro, atualize a página e depois mova o controle deslizante para a direita.
  1. Depois que o "Editor in-line" estiver ativado, você verá um modelo padrão na guia index.js.

  2. Clique no botão Implantar no canto inferior direito. Isso pode levar alguns minutos.

  3. Quando a implantação terminar, acesse o console do Google Cloud. No menu à esquerda, navegue até o Cloud Functions para confirmar que a função foi implantada.

Clique em Verificar meu progresso para conferir o objetivo. Configure o fulfillment usando a Função do Cloud

  1. Volte para a seção Fulfillment do console do Dialogflow e clique na guia index.js.

  2. Veja que já existe um código inicial com funções para lidar com as intents padrão de boas-vindas e de fallback. Primeiro você adicionará as linhas abaixo para poder trabalhar com o Firestore.

Adicione o código a seguir acima da linha process.env.DEBUG = 'dialogflow:debug';:

const admin = require('firebase-admin');

Adicione o bloco de código a seguir abaixo da linha process.env.DEBUG = 'dialogflow:debug';:

admin.initializeApp(); admin.firestore().settings( { timestampsInSnapshots: true }); const db = admin.firestore();
  1. Agora adicione o código a seguir para enviar uma mensagem de erro ou alterar a reserva depois das funções do gerenciador para as intents de boas-vindas e de fallback.

Adicione o bloco de código a seguir abaixo da linha

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {:

function reservation(agent) { let id = agent.parameters.reservationnumber.toString(); let collectionRef = db.collection('reservations'); let userDoc = collectionRef.doc(id); return userDoc.get() .then(doc => { if (!doc.exists) { agent.add('I could not find your reservation.'); } else { db.collection('reservations').doc(id).update({ newname: agent.parameters.newname }).catch(error => { console.log('Transaction failure:', error); return Promise.reject(); }); agent.add('Ok. I have updated the name on the reservation.'); } return Promise.resolve(); }).catch(() => { agent.add('Error reading entry from the Firestore database.'); }); }
  1. Altere intentMap para incluir uma entrada que gerencie o mapeamento name.reservation-getname na função que você acabou de adicionar:
intentMap.set('name.reservation-getname', reservation);

O resultado será parecido com este:

let intentMap = new Map(); intentMap.set('name.reservation-getname', reservation); intentMap.set('Default Welcome Intent', welcome); intentMap.set('Default Fallback Intent', fallback); agent.handleRequest(intentMap);
  1. Na guia package.json verifique se o firebase-admin está definido como "^5.13.1":
"firebase-admin": "^5.13.1"
  1. Clique no botão Implantar para salvar e implantar o código.

  2. Acesse a intent name.reservation-getname e navegue até Fulfillment, clique no botão Ativar chamada de webhook para a intent para ativá-la. Salve a intent.

  3. Faça o teste no simulador com a pergunta: change name on booking?

Você verá uma resposta padrão, como: "Sure I can help you to change your name on the reservation. Can I have your first name?".

  1. Tente inserir algum nome de usuário.

  2. Tente digitar 100 quando receber a resposta padrão que pergunta o número da reserva.

  3. Depois insira o novo nome da reserva de exemplo: Kelly.

  4. Quando terminar, você receberá uma resposta padrão: Thank you dylan. I have changed the name on reservation number 100 to be Kelly.

  5. É possível confirmar isso depois no Console do Cloud usando o menu esquerdo e navegando até Firestore > Dados.

Você verá a entrada da alteração do nome. Note que um novo par de chave-valor foi adicionado. Essa informação indica o nome original e o novo.

new key/value pair. fname: "Isabel", lname: "costa", newname name: "kelly"

  1. Examine os registros para erros de código no console Dialogflow. No canto inferior esquerdo da seção Fulfillment, clique em Exibir registros de execução no console do Google Cloud para conferir os registros.

  2. Acesse Menu de navegação > Operações > Geração de registros para verificar se há algum erro.

  3. Na Análise de registros, selecione Função do Cloud > dialogflowFirebaseFulfillment. Aqui é possível verificar todos os registros relacionados.

Como alternativa, acesse Menu de navegação > Cloud Functions. Clique em REGISTROS na função que você criou para exibir os registros.

Clique em Verificar meu progresso para conferir o objetivo. Teste o agente usando o simulador do Dialogflow

Tarefa 5: exportar seu código (opcional)

Exporte seu trabalho para usá-lo no próximo laboratório. Clique na guia Origem do Cloud Functions e role para baixo. Você verá o botão Fazer download do arquivo zip.

Exporte seu agente

Exporte seu agente como um arquivo ZIP para importá-lo depois, quando começar o próximo laboratório. Dessa forma, você poderá reutilizar as intents e entidades que já configurou.

  1. Clique no ícone de engrenagem ⚙ ao lado do nome do agente no menu esquerdo para ver as configurações.

  2. Na página de configurações, acesse a guia Export and Import.

  3. Clique em Exportar como arquivo Zip. Seu agente será salvo em um arquivo ZIP local.

Parabéns!

Você adicionou contexto ao agente virtual e definiu o fulfillment para pesquisar e armazenar entradas de reservas no Firestore.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 28 de setembro de 2023

Manual testado em 28 de setembro de 2023

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.