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. O Dialogflow Messenger é usada para uma interface de 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 você ainda não concluiu Como configurar o ambiente de desenvolvimento.
Criar o código do serviço da Web
O código de exemplo deste tutorial está escrito em Go, mas é possível usar qualquer linguagem suportada pelo App Engine. Crie a seguinte estrutura de arquivos em qualquer lugar da máquina local:
go-app/
: diretório do serviço Go 1.11.templates/
: diretório dos modelos HTML do Go.index.html
: modelo HTML em 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
Seu código agora está pronto para ser implantado. 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
Configure o Dialogflow Messenger
Para configurar o acesso não autenticado ao seu agente do Dialogflow CX Messenger:
- Acesse o Console do Dialogflow CX.
- Escolha seu projeto do Google Cloud.
- Selecione seu agente.
- Selecione a guia Manage.
- Clique em Integrations no menu da barra lateral à esquerda.
- Clique em Conectar no Dialogflow CX Messenger.
- Uma caixa de diálogo de configuração é aberta.
- Se a integração já tiver sido configurada para esse agente, você verá o código HTML incorporável. Independentemente de você querer autenticação ou não, Clique no botão Desativar... na parte de baixo da caixa de diálogo. para redefinir as configurações na próxima etapa.
- Selecione um Ambiente.
- Selecione API não autenticada.
- Selecione um estilo.
- É possível restringir o acesso ao domínio.
- Clique em Ativar a API não autenticada.
- A caixa de diálogo vai mostrar o código HTML incorporável que pode ser incorporado no seu site. Copie esse código.
- Clique em Concluído.
Incorporar o agente no 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 seu agente pela página da Web clique no ícone de chat no canto inferior direito.
Agora você tem um agente do Dialogflow totalmente implantado. Converse 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: