A etapa final deste tutorial é hospedar seu agente do Dialogflow. O App Engine é usado para hospedagem, porque é simples de configurar e tem boa capacidade de escalonamento. A integração do Dialogflow Messenger é usada para uma interface do usuário do agente.
Configuração do projeto
O ideal é que o agente do Dialogflow e a instância do App Engine estejam no mesmo projeto. Além disso, você precisa ativar a API Cloud Build.
Antes de criar a instância, selecione seu projeto no console do Google Cloud.
Ative a API Cloud Build para o projeto.
Configuração do ambiente
Você precisa instalar e configurar algumas coisas para desenvolver um aplicativo Go para o App Engine. Siga as etapas que ainda não foram concluídas em Configurar seu ambiente de desenvolvimento.
Criar o código do serviço da Web
O exemplo de código deste tutorial foi escrito em Go, mas você pode usar qualquer linguagem compatível com o App Engine. Crie a seguinte estrutura de arquivos em qualquer lugar da sua máquina local:
go-app/
: diretório do serviço Go 1.11.templates/
: diretório para seus modelos HTML do Go.index.html
: modelo HTML do Go.
app.yaml
: as configurações do seu serviço.main.go
: o código do aplicativo
As próximas três seções fornecem conteúdo para os três arquivos.
Conteúdo do arquivo index.html
Esse arquivo de modelo HTML do Go contém o HTML da página inicial. Preencha este arquivo com o seguinte conteúdo:
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Tutorial agent</title> </head> <body> <p>Open the chat window in the bottom right corner.</p> </body> </html>
Conteúdo do arquivo app.yaml
Esse é um arquivo de configuração que especifica as configurações do ambiente de execução do serviço. Consulte o documento do ambiente de execução do Go 1.12+ para conferir a lista de versões do Go com suporte. Preencha este arquivo com o seguinte conteúdo:
runtime: go116 # or another supported version
Conteúdo do arquivo main.go
Esse arquivo contém o código do aplicativo. Preencha este arquivo com o seguinte conteúdo:
// Package main is the main package package main import ( "log" "net/http" "os" "text/template" ) var templates *template.Template func init() { templates = template.Must(template.New("").ParseGlob("templates/*")) } // indexHandler handles the homepage. func indexHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/" { http.NotFound(w, r) return } if err := templates.ExecuteTemplate(w, "index.html", nil); err != nil { log.Fatal(err) } } func main() { // Register the handlers http.HandleFunc("/", indexHandler) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } log.Printf("Listening on port %s", port) if err := http.ListenAndServe(":"+port, nil); err != nil { log.Fatal(err) } }
Implantar o serviço da Web
Agora seu código está pronto para implantação. Estas etapas usam a ferramenta gcloud para implantação:
Verifique se o gcloud está configurado com o mesmo projeto que seu agente do Dialogflow. Para verificar o projeto:
gcloud config get-value project
Para mudar o projeto:
gcloud config set project YOUR_PROJECT
No diretório
go-app
, onde o arquivoapp.yaml
está localizado, implante o serviço da Web no App Engine usando o seguinte comando:gcloud app deploy
O comando vai solicitar uma região. Selecione a mesma região do seu agente do Dialogflow. O comando vai gerar o valor
target url
, que é o URL do seu serviço da Web.Para iniciar o navegador e conferir o serviço da Web, abra o URL de destino da etapa anterior ou execute o seguinte comando:
gcloud app browse
Configurar o Dialogflow Messenger
Para configurar e ativar o Dialogflow Messenger:
- Acesse o console do Dialogflow ES.
- Clique em Integrations no menu da barra lateral à esquerda.
- Clique em Dialogflow Messenger.
- Uma caixa de diálogo de configuração é aberta.
- Escolha um ambiente.
- Clique em Ativar.
- Copie o código de incorporação para colar no seu site.
- Clique em Fechar.
Incorporar o agente ao seu serviço da Web
Cole o código de incorporação que você copiou acima no arquivo index.html
.
Os elementos HTML <script>
e <df-messenger>
devem estar no elemento <body>
da sua página.
Implante o app do serviço da Web novamente com a gcloud. Depois de implantado, é possível interagir com o agente pela página da Web clicando no ícone de chat no canto inferior direito.
Agora você tem um agente do Dialogflow totalmente implantado. Tente conversar com o agente.
Limpeza
Ao seguir as etapas deste tutorial, você criou recursos faturáveis. Para evitar cobranças adicionais na sua conta do Google Cloud:
- Exclua a instância do banco de dados.
Exclua a função:
gcloud functions delete tutorial-telecommunications-webhook
Mais informações
Para mais informações sobre as etapas acima, consulte: