Hospedar o agente

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.

  1. Antes de criar a instância, selecione seu projeto no console do Google Cloud.

    Acessar o seletor de projetos

  2. Ative a API Cloud Build para o projeto.

    Ativar a API Cloud Build

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:

  1. 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
  2. No diretório go-app, onde o arquivo app.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.

  3. 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:

  1. Acesse o console do Dialogflow ES.
  2. Clique em Integrations no menu da barra lateral à esquerda.
  3. Clique em Dialogflow Messenger.
  4. Uma caixa de diálogo de configuração é aberta.
  5. Escolha um ambiente.
  6. Clique em Ativar.
  7. Copie o código de incorporação para colar no seu site.
  8. 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.

Captura de tela do agente do Dialogflow incorporado à página da Web

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:

  1. Exclua a instância do banco de dados.
  2. Exclua a função:

    gcloud functions delete tutorial-telecommunications-webhook
  3. Desativar o app.

  4. Excluir o agente

Mais informações

Para mais informações sobre as etapas acima, consulte: